ОШИБКА: 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
- Найдите, где находится ваш
virtualenvwrapper
. в моем случае
~/.local/bin
Может быть, он установлен в
/usr/local/bin/
Это полностью зависит от системы или диспетчера пакетов, которые вы используете.
- Добавьте этот путь в конфигурацию вашей оболочки
.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
Теперь откройте новую оболочку и попробуйте снова. Ошибка должна исчезнуть.