Pipenv: Команда Не Найдена
Я новичок в разработке Python и пытаюсь использовать pipenv. Я выполнил команду pip install pipenv
, который бежал успешно:
...
Successfully built pipenv pathlib shutilwhich pythonz-bd virtualenv-clone
Installing collected packages: virtualenv, pathlib, shutilwhich, backports.shutil-get-terminal-size, pythonz-bd, virtualenv-clone, pew, first, six, click, pip-tools, certifi, chardet, idna, urllib3, requests, pipenv
...
однако, когда я выполните команду pipenv install
в корневом каталоге проекта я получаю следующее сообщение: -bash: pipenv: command not found
. Я подозреваю, что мне, возможно, придется изменить свой .bashrc, но я неясен о том, что добавить в файл или если модификация даже необходима.
9 ответов
это происходит потому, что вы не устанавливаете его глобально (в масштабах системы). Чтобы он был доступен в вашем path
вам нужно установить его с помощью sudo
, например:
$ sudo pip install pipenv
Если вы выполнили установку пользователя, вам нужно добавить нужную папку в свой PATH
переменной.
PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"
посмотреть инструкции по установке pipenv
OSX РЕБЯТА, СЮДА!!!
как ответил @charlax (для меня лучший), вы можете использовать более динамическую команду для установки пути, buuut для пользователей mac это не может работать, иногда ваш путь USER_BASE, полученный с сайта, неправильный, поэтому вам нужно узнать, где находится ваша установка python.
$ which python3
/usr/local/bin/python3.6
вы получите ссылку, тогда вам нужно найти ссылку источника.
$ ls -la /usr/local/bin/python3.6
lrwxr-xr-x 1 root wheel 71 Mar 14 17:56 /usr/local/bin/python3.6 -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
(это ../../../
означает корень)
Так вы найден путь python (/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
), то вам просто нужно положить в вас~/.bashrc следующим образом:
export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"
вы можете рассмотреть возможность установки pipenv
via pipsi
.
curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get -pipsi.py | python3
pipsi install pew
pipsi install pipenv
к сожалению, есть некоторые проблемы с macOS + python3 на момент написания, см. 1, 2. В моем случае мне пришлось изменить "башпромт" на #!/Users/einselbst/.local/venvs/pipsi/bin/python
Я попытался это:
python -m pipenv # for python2
python3 -m pipenv # for python3
надеюсь, это поможет вам.
у меня такая же проблема с pipenv
на Mac OS X 10.13 High Seirra, другой Mac работает просто отлично. Я использую Heroku для развертывания моих серверов Django, некоторые в 2.7, а некоторые в 3.6. Итак, мне нужны как 2.7, так и 3.6. Когда HomeBrew устанавливает Python, он сохраняет python
указывает на оригинал 2.7, и python3
указывает на 3.6.
проблема может быть из-за $ pip install pipenv
. Я проверил /usr/local / bin, и pipenv там нет. Итак, я попробовал полное удаление:
$ pip uninstall pipenv
Cannot uninstall requirement pipenv, not installed
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
$ pip3 uninstall pipenv
Skipping pipenv as it is not installed.
переустановить и работает теперь:
$ pip3 install pipenv
Collecting pipenv
установка pipenv глобально может иметь неблагоприятный эффект путем перезаписи глобальной / управляемой системой установки pip, что приводит к ошибкам импорта при попытке запустить pip.
вы можете установить pipenv на уровне пользователя:
pip install --user pipenv
это должно установить pipenv на уровне пользователя в /home/username/.локальный, чтобы он не конфликтовал с глобальной версией pip. В моем случае это все еще не работало после запуска переключателя' --user', поэтому я запустил более длинная команда "исправить то, что я напортачил" один раз, чтобы восстановить системную управляемую среду:
sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
^ найти здесь: ошибка после обновления pip: не удается импортировать имя "main"
и затем сделал следующее:
mkdir /home/username/.local
... если он еще не существует
export PYTHONUSERBASE=/home/username/.local
убедитесь, что экспорт вступил в силу (бит меня один раз во время этого процесса):
echo $PYTHONUSERBASE
затем я запустил pip install --user pipenv
и все было хорошо. Затем я мог запустить pipenv из CLI, и он не перезаписал глобальный/управляемый системой модуль pip. Конечно, это специфично для пользователя, поэтому вы хотите убедиться, что вы устанавливаете pipenv таким образом, работая как пользователь, которого вы хотите использовать pipenv.
ссылки:
https://pipenv.readthedocs.io/en/latest/diagnose/#no-module-named-module-name https://pipenv.readthedocs.io/en/latest/install/#pragmatic-installation-of-pipenv https://pip.pypa.io/en/stable/user_guide/#user-installs