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


это исправило его для меня:

sudo -H pip install -U 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


Это для меня:

sudo -H pip install -U pipenv

Я попытался это:

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