ОШИБКА: virtualenvwrapper не смог найти virtualenv на вашем пути

Я пытаюсь создать virtualenv с virtualenvwrapper, но когда я использую mkvirtualenv, я получаю следующее:

ERROR: virtualenvwrapper could not find virtualenv in your path

Я предположил, что это проблема PYTHONPATH. Но если я делаю a pip show virtualenv, я получаю следующее:

---
Metadata-Version: 2.0
Name: virtualenv
Version: 13.1.0
Summary: Virtual Python Environment builder
Home-page: https://virtualenv.pypa.io/
Author: Jannis Leidel, Carl Meyer and Brian Rosner
Author-email: [email protected]
License: MIT
Location: /Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages
Requires:

И вот мой PYTHONPATH:

/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/bin:/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/bin:/NFS/ZFS-студент-3/пользователей/2013_paris/vmonteco/Library/Python/2.7/Lib/Python/сайт-пакеты:/Volumes/Data/NFS/ZFS-студент-3/пользователей/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages:~/.brew/Cellar

Он содержит каталог, содержащий virtualenv!

(i-e: /Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages)

Мой ~/.zshrc содержит:

export WORKON_HOME=~/Envs
export PROJECT_HOME=$HOME/Devel
source $HOME"/Library/Python/2.7/bin/virtualenvwrapper.sh"

РЕДАКТИРОВАТЬ: virtualenvwrapper.sh написано в bash, возможно, я должен проверить мой PATH вместо моего PYTHONPATH?

Итак, что может быть проблема? Как я могу это исправить?

Заранее благодарим вас за помощь.

Ответы

Ответ 1

Наконец-то я выяснил, в чем проблема:

virtualenvwrapper.sh написан в BASH, а не в Python. Поэтому virtualenv вызывается из оболочки (zsh). Мне не пришлось беспокоиться о моем PYTHONPATH, но о моей PATH (я уже мог импортировать virtualenv из моей оболочки python).

Я только что добавил правильный каталог в PATH, и все работало нормально.

Ответ 2

Повторная установка virtualenv исправила мою проблему.

У меня была такая же проблема.

$ mkvirtualenv mysite
ERROR: virtualenvwrapper could not find virtualenv in your path

После долгих усилий, Я решил переустановить virtualenv.

sudo apt install virtualenv

Это устранило мои проблемы. Я уже установил virtualenv. Но я думаю, что он сломался или встретился с некоторыми ошибками.

Ответ 3

  • sudo find / -name "virtualenv"

    Затем я нахожу, что путь исполняемого файла:

    /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/virtualenv

  • Коснитесь софт-ссылки в каталоге /usr/local/bin/ или добавьте путь к .bash_profile, я предпочитаю первый:

    sudo ln -s /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv
    

Ответ 4

Я использую python3 с virtualenvwrapper, установленной на Ubuntu 18.04, используя pip3 без sudo. Если вы находитесь в такой ситуации, вам может быть интересна моя конфигурация.

В конце моего .bashrc я добавил следующие строки (не забудьте указать свое имя пользователя в поле YOUR_USERNAME):

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV=/home/YOUR_USERNAME/.local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

Затем перезапустите cli с помощью ctrl-D ctrl-T или перезагрузите конфигурацию с source ~/.bashrc. Тогда тебе должно быть хорошо идти! Попробуйте установить с:

lsvirtualenv
mkvirtualenv test
workon test
deactivate
rmvirtualenv test

Если вы можете создать и удалить виртуальную среду, вы готовы к работе.

Ответ 5

  1. Найдите, где находится ваш virtualenvwrapper. в моем случае
 ~/.local/bin

Может быть, он установлен в

/usr/local/bin/

Это полностью зависит от системы или диспетчера пакетов, которые вы используете.

  1. Добавьте этот путь в конфигурацию вашей оболочки .bashrc или .zshrc или что-то еще, просто
PATH=$PATH:<directory_you_want_to_add>

например

PATH=$PATH:~/.local/bin

Также добавьте следующую конфигурацию в .bashrc или .zshrc

# the path you want your virtual environments to be saved and loaded from
export WORKON_HOME=$HOME/.virtualenvs 
export PROJECT_HOME=$HOME/<project_folder>

# most important, this is the program which loads virtualenv
# please update the path where virtualenvwrapper.sh is located
source /usr/local/bin/virtualenvwrapper.sh 

Не забудьте перезапустить оболочку.. или перезагрузить конфигурацию...

Чтобы проверить, сработало ли это

mkvirtualenv test

если вы видите, что тестовая среда создана, то все в порядке.

Для получения подробных инструкций по установке перейдите в документацию: установка virtualenvwrapper

Ответ 6

Ваш PYTHONPATH заставляет меня думать, что у вас установлен Homebrew. Похоже, что virtualenvwrapper был установлен либо с вашим системным пипсом, либо с вашим домашним пипсом, когда он выполняется с помощью противоположного интерпретатора python.

Ответ 7

Я сделал это (используя zsh) следующим образом:

export PATH=$HOME/bin: /usr/local/bin:$PATH: /Users/username/Library/Python/2.7/bin:$PATH

Я просто разместил файл virtualenvwrapper.sh по этому пути /Users/username/Library/Python/2.7/bin:$PATH

и добавил этот путь к PATH.

Ответ 8

У меня были те же проблемы, и я попробовал много вещей, которые нашли решение: у меня была версия с тремя пунктами, с 2.7, 3.6 и 3.7. и 3.6 был тем, который отлично работает для многих вещей, и устанавливайте как sudo pip3.6 install virtualenv, и он отлично работает. Я бы посоветовал проверить вашу версию в pip и попытаться установить ее в зависимости от версии.

Ответ 9

ERROR: virtualenvwrapper could not find virtualenv in your path

Эта ошибка означает, что программа virtualenv не находится в системном пути. В основном это происходит, если вы устанавливаете virtualenv через pip без sudo. Этот тип установки хранит данные в локальном каталоге пользователей e.g ~/.local/bin. Итак, первый шаг - найти этот бинарный файл. Вы можете сделать это с помощью программы locate. Сначала обновите свою базу данных, используя sudo updatedb. Затем запустите locate *bin/virtualenv. Какой бы путь вы ни выбрали, добавьте его в системную переменную пути. Это можно сделать, добавив строку ниже в файл конфигурации оболочки, например ~/.bashrc or ~/.zshenv.

export PATH=$PATH:/your/path

например,

export PATH=$PATH:~/.local/bin

Теперь откройте новую оболочку и попробуйте снова. Ошибка должна исчезнуть.