Ошибка "virtualenv: команда не найдена", но место установки находится в PYTHONPATH
Это заставляло меня сходить с ума за последние 2 дня.
Я установил virtualenv на свой Macbook с помощью pip install virtualenv
.
Но когда я пытаюсь создать новый virtualenv с помощью virtualenv venv
, я получаю сообщение об ошибке "virtualenv: command not found".
Я использовал pip show virtualenv
, и место установки было "Location:/usr/local/lib/python2.7/site-packages", но я не могу понять, где находится исполняемый файл. Я пробовал десятки других похожих сообщений, но эти решения не работают для меня.
Любые идеи, что здесь может быть неправильным?
Ответы
Ответ 1
Единственный работоспособный подход, который я мог бы выяснить (с помощью @Gator_Python было сделать python -m virtualenv venv
. Это создает виртуальную среду и работает как ожидалось.
У меня установлен пользовательский python и, возможно, почему-то по умолчанию для меня не работает.
Ответ 2
В macOS Мохаве
Сначала проверьте питон в пути.
python --version
Второй чек установлен.
pip --version
Если он не установлен.
brew install pip
Третья установка virtualenv
sudo -H pip install virtualenv
Ответ 3
Как уже упоминалось в комментариях, вы правильно установили модуль virtualenv в ожидаемой среде, так как python -m venv
позволяет создавать virtualenv.
Тот факт, что virtualenv
не является распознанной командой, является результатом того, что virtualenv.py
не находится в вашей системе PATH и/или не является исполняемым. Коренной причиной могут быть устаревшие distutils или setuptools.
Вам следует попытаться найти файл virtualenv.py
, убедитесь, что он выполним (chmod +x
) и что его местоположение находится в вашей системе PATH. В моей системе virtualenv.py
находится в папке ../Pythonx.x/Scripts
, но это может быть другим для вас.
Ответ 4
Может быть, вы используете менеджер пакетов Anaconda? Если это так, то у него есть собственная система виртуальной среды, которую вы настраиваете следующим образом:
conda create --name venv
Ответ 5
У меня была такая же проблема (хотя на ubuntu), простое решение вместо того, чтобы делать pip install virtualenv
, вы предшествуете похвалу " sudo ".
Небольшая проверка показывает причину этого исправления: ![enter image description here]()
pip install virtualenv
пытается поместить исполняемый файл в /usr/local/bin
чтобы его можно было вызывать из командной строки, но он не удался, потому что только root имеет права на запись в этот каталог
альтернативой является pip install --user virtualenv
, вот несколько дальнейших чтений 1, 2
Ответ 6
Мне удалось вручную создать ссылку на файл location/virtualenv.py в /usr/local/bin, присвоить ему имя virtualenv и добавить в файл атрибут +x
➜ ~ pip show virtualenv
Name: virtualenv
Version: 16.6.0
Summary: Virtual Python Environment builder
Home-page: https://virtualenv.pypa.io/
Author: Ian Bicking
Author-email: [email protected]
License: MIT
Location: /home/prsadev/.local/lib/python2.7/site-packages
Requires:
~ chmod +x /home/prsadev/.local/lib/python2.7/site-packages/virtualenv.py
~ sudo ln -sf /home/prsadev/.local/lib/python2.7/site-packages/virtualenv.py /usr/local/bin/virtualenv
Ответ 7
Я пытался иметь virtualenv в случайном месте & столкнулся с той же проблемой на машине UBUNTU, когда я попытался запустить свой 'venv'. То, что решило мою проблему, было: -
$ virtualenv -p python3 venv
Также вместо использования $ activate
попробуйте: -
$ source activate
Если вы посмотрите на скрипт активации (или $ cat activate
), вы найдете то же самое в комментарии.
Ответ 8
Для Python 3
python3 -m virtualenv venv
Ответ 9
- Установите python package manager.
- Установите виртуальную среду, используя pip3 install virtualenv или pip install virtualenv.