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, но мне неясно, что добавить в файл или если изменение даже необходимо.
29 ответов
Это происходит потому, что вы не устанавливаете его глобально (для всей системы). Чтобы он был доступен в вашем path
вам нужно установить его используя sudo
, как это:
$ sudo pip install pipenv
Если вы выполнили установку пользователем, вам нужно добавить нужную папку в PATH
переменная.
PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"
Смотрите инструкцию по установке 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
Где Python хранит пакеты
Прежде чем перейти к команде, которая установит pipenv
, стоит понять, где pip
устанавливает пакеты Python.
Глобальные пакеты сайтов - это место, где Python устанавливает пакеты, которые будут доступны всем пользователям и всем приложениям Python в системе. Вы можете проверить глобальный пакет сайта с помощью команды
python -m site
Например, в Linux с Python 3.7 путь обычно
/usr/lib/python3.7/dist-packages/setuptools
Пользовательские пакеты сайта - это место, где Python устанавливает пакеты, доступные только вам. Но пакеты по-прежнему будут видны всем проектам Python, которые вы создаете. Вы можете пройти путь с
python -m site --user-base
В Linux с Python 3.7 путь обычно
~/.local/lib/python3.7/site-packages
Использование Python 3.x
В большинстве Linux и других Unix Python 2 и Python 3 обычно устанавливаются бок о бок. Исполняемый файл Python 3 по умолчанию почти всегдаpython3
. pip
может быть доступен как один из следующих, в зависимости от вашего дистрибутива Linux
pip3
python3-pip
python36-pip
python3.6-pip
Linux
Избегать использования pip
с sudo
! Да, это наиболее удобный способ установки пакетов Python, а исполняемый файл доступен по адресу/usr/local/bin/pipenv
, но это также означает, что определенный пакет всегда виден всем пользователям и всем проектам Python, которые вы создаете. Вместо этого используйте пакеты сайта для каждого пользователя с--user
pip3 install --user pipenv
pipenv
доступно на
~/.local/bin/pipenv
macOS
В macOS рекомендуется использовать Homebrew для установки Python. Вы можете легко обновить Python, установить несколько версий Python и переключаться между версиями с помощью Homebrew.
Если вы используете самодельный Python, pip install --user
выключен. Глобальный сайт-пакет находится по адресу
/usr/local/lib/python3.y/site-packages
и вы можете безопасно установить здесь пакеты Python. Python 3.y также ищет модули в:
/Library/Python/3.y/site-packages
~/Library/Python/3.y/lib/python/site-packages
Windows
По причинам устаревания Python установлен в C:\Python37
. Исполняемый файл Python обычно называетсяpy.exe
, и ты можешь бежать pip
с py -m pip
.
Пакеты глобального сайта установлены в
C:\Python37\lib\site-packages
Поскольку вы обычно не используете свои устройства Windows совместно, можно также установить пакет глобально.
py -m pip install pipenv
pipenv
теперь доступен на
C:\Python37\Scripts\pipenv.exe
Я не рекомендую устанавливать пакеты Python в Windows с --user
, потому что каталог пакета сайта пользователя по умолчанию находится в перемещаемом профиле Windows
C:\Users\user\AppData\Roaming\Python\Python37\site-packages
Перемещаемый профиль используется в службах терминалов (удаленный рабочий стол, Citrix и т. Д.), А также при входе / выходе из корпоративной среды. Медленный вход, выход из системы и перезагрузка в Windows могут быть вызваны большим перемещаемым профилем.
- сначала установите pip, используя следующую команду
pip3 install pipenv
Теперь проверьте, отображается ли pipenv, используя следующую команду, если вы видите что-то вроде
command not found: pipenv
используйте следующие командыТеперь нам нужно установить путь для pipenv, для этого сначала нам нужно найти базовый двоичный каталог пользователя,
В Linux и Mac мы можем сделать это следующим образом.
python3 -m site --user-base
эта команда отобразит что-то вроде этого
/some_directory/Python/3.9
используйте путь, отображаемый в вашем терминале, и добавьте/bin
в конце концов, теперь ваш путь выглядит так
/some_directory/Python/3.9/bin
теперь вам нужно указать путь, если вы используете тип zsh (z shell)nano ~/.zshrc
в терминале или если вы используете редактор кода, такой как VSCode, и путь установлен для типа VScodecode ~/.zshrc
если вы используете bash используйтеnano ~/.bashrc
илиcode ~/.bashrc
в файл наконец добавьте следующую строку
export PATH="$PATH:/somedirectory/Python/3.9/bin"
сохраните файл и выйдите из терминала, теперь откройте новый терминал и введитеpipenv --version
вы должны увидеть что-то вродеpipenv, version 2022.10.25
в Windows мы можем сделать следующее
python -m site --user-site
вы должны увидеть что-то вроде
C:\Users\Username\AppData\Roaming\Python36\site-packages`
теперь заменитьsite-packages
сScripts
. это может вернуться
C:\Users\Username\AppData\Roaming\Python36\Scripts
Вы можете установить ПУТЬ пользователя на постоянной основе в Панели управления . Возможно, вам придется выйти из системы, чтобы изменения PATH вступили в силу.
OSX, ребята, здесь!
Как ответил @charlax (для меня самая лучшая), вы можете использовать более динамичную команду для установки PATH, но для пользователей Mac это может не сработать, иногда ваш путь USER_BASE, полученный с сайта, неверен, поэтому вам нужно выяснить, где ваш установка на питоне есть.
$ 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"
Я не знаю, что произошло, но следующее сработало (под mac os catalina)
$ brew install pipenv
$ brew update pipenv
после этого я могу использовать
$ pipenv install [package_name]
В этом случае вам просто нужно добавить двоичный путь к вашему bash. Например, если вы используете ZSH, вам нужно отредактировать файл .zshrc от имени администратора, а затем добавить код, упомянутый @charlax в комментариях выше:
PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"
Для тех, кто установил его с помощью
sudo pip3 install pipenv
, вам нужно использовать
python3 -m pipenv shell
Глобальная установка pipenv может оказать неблагоприятное влияние, переписав глобальную / управляемую системой установку pip, что приведет к ошибкам импорта при попытке запустить pip.
Вы можете установить pipenv на уровне пользователя:
pip install --user pipenv
Это должно установить pipenv на уровне пользователя в /home/username/.local, чтобы он не конфликтовал с глобальной версией 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/ https://pipenv.readthedocs.io/en/latest/install/ https://pip.pypa.io/en/stable/user_guide/
ОС: Linux
Версия Pip: pip3
sudo -H pip3 install -U pipenv
ОС: Windows
Версия Pip: любая
sudo -H pip install -U pipenv
На Mac вам может потребоваться:
pip3 install pipenv
Потом,
cd
в корневой каталог, чтобы найти файл.
Затем добавьте это в путь
export PATH=/Library/Frameworks/Python.framework/Versions/3.9/bin:$PATH
Примечание. 3.9 - это версия Python, работающая в вашей системе. Примечание. Вы можете получить доступ к
.zshrc
используя cmd+ shift+ .в корневом каталоге ... файл по умолчанию скрыт
Сохраните и перезапустите свой терминал
Я использую zsh на своем Mac, у меня сработало сначала установить pipenv
pip3 install --user pipenv
Затем я изменил ПУТЬ в ~ / .zshrc
vi ~/.zshrc
В редакторе нажмите i, чтобы вставить текст:
export PATH="/Users/yourUser/Library/Python/3.9/bin:$PATH"
Нажмите esc и напишите :wq! Закройте терминал и снова откройте его. И напоследок напиши pipenv
Этот способ работал у меня с использованием macOS BigSur 11.1
Это легко исправить, установив pipenv с помощью моего центрального менеджера пакетов (apt)
sudo apt install pipenv
Вы можете легко установить pipenv с помощью менеджера пакетов (apt, yum, brew), и он добавит его непосредственно в ваши переменные $PATH.
Более того, он работает на zsh. Я использую zsh в Ubuntu и пытался добавить pipenv в $PATH и другие решения, но это не сработало, пока я не использовал apt для его установки.
КАК СДЕЛАТЬ PIPENV ОСНОВНОЙ КОМАНДОЙ
Pipenv с Python3 необходимо запускать как "$ python -m pipenv [command]" или "$ python3 -m pipenv [command]"; команда "python" в начале зависит от того, как вы активируете Python в своей оболочке. Чтобы исправить и установить "$ pipenv [command]": [пример в Git Bash]
$ cd ~
$ code .bash_profile
Первая строка необходима, поскольку она позволяет вам получить доступ к файлу.bash_profile. Вторая строка открывает.bash_profile в VSCode, поэтому вставьте команду редактора кода по умолчанию. На этом этапе вам нужно (в.bash_profile) отредактировать файл, добавив эту строку кода:
alias pipenv='python -m pipenv'
Затем сохраните файл и в Git Bash введите:
$ source .bash_profile
Затем вы можете использовать pipenv как команду где угодно, например: $ pipenv shell Будет работать.
Этот метод использования будет работать для создания команд в Git Bash. Например:
alias python='winpty python.exe'
введенный в.bash_profile и: $ source .bash_profile позволит Python запускаться как "python".
Пожалуйста.
В Mac OS X Catalina похоже, что он следует пути Linux. Использование любого из:
pip install pipenv
pip3 install pipenv
sudo pip install pipenv
sudo pip3 install pipenv
По сути, здесь устанавливается pipenv:
/Users/mike/Library/Python/3.7/lib/python/site-packages/pipenv
Но это не исполняемый файл, поэтому его никогда не находят. Единственное, что у меня сработало, это
pip install --user pipenv
Это, кажется, приводит к __init__.py
файл в указанном выше каталоге, содержащий содержимое для правильного отображения pipenv
команда.
и все начало работать, когда все остальные опубликованные и прокомментированные предложения по этому вопросу потерпели неудачу.
Пакет pipenv определенно кажется довольно разборчивым.
Это просто решило это для меня, если вы работаете в Windows.
pip install pipenv
Во-вторых, замените свой
<username>
по следующим путям и добавьте их в переменную среды PATH:
c:\Users\<username>\AppData\Roaming\Python\Python38\Site-Packages
C:\Users\<username>\AppData\Roaming\Python\Python38\Scripts
Вам нужно закрыть командную строку и снова открыть ее. В-третьих, введите следующую команду, чтобы проверить правильность установки pipenv:
pipenv -h
Я надеюсь, что это поможет и вам!
Для пользователей окон это может быть связано с конфликтом установки с virtualenv. Для меня это сработало, когда я сначала удалил virtualenv и pipenv, а затем установил только pipenv.
pip uninstall virtualenv
pip uninstall pipenv
pip install pipenv
Сейчас же pipenv install xxx
работал на меня
Вероятно, он установлен в вашем пользовательском пути.
например, если ваш пользователь (имя пользователя) tom, проверьте этот путь
/home/том/.local/bin/pipenv
если в пути существует pipenv, вы можете переместить или скопировать его в общий путь пользователя, чтобы вы могли выполнять pipenv из всех сеансов терминала.
cp /home/tom/.local/bin/pipenv /usr/bin/
тогда вы сможете запустить pipenv
Вот как я успешно разрешил «Pipenv: Command Not Found» на моем Mac OSX
Вы должны изменить права собственности на эти каталоги на своего пользователя.
sudo chown -R $(whoami) /usr/local/share
убедитесь, что у вашего пользователя есть разрешение на запись.
chmod u+w /usr/local/share
Затем рассмотрите возможность установки с помощью Homebrew:
варить обновление
варить установить pyenv
После установки pipenv (sudo pip install pipenv
), Я продолжал получать ошибку "Команда не найдена" при попытке запустить pipenv shell
команда.
Наконец я исправил это с помощью следующего кода:
pip3 install pipenv
pipenv shell
Вы могли бы рассмотреть возможность установки pipenv
с помощью pipsi
,
curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get -pipsi.py | python3
pipsi install pew
pipsi install pipenv
К сожалению, на момент написания статьи есть некоторые проблемы с macOS + python3, см. 1, 2. В моем случае мне пришлось изменить bashprompt на #!/Users/einselbst/.local/venvs/pipsi/bin/python
В некоторых случаях старых pip
версия:
sudo easy_install pip
sudo pip install pipenv
Сначала проверьте, установлен ли pipenv:
pipenv --version
Если в вашей системе нет версии, выполните следующую команду, чтобы установить pipenv
sudo aptitude install pipenv
Для меня в Windows работала командная строка от имени администратора, а затем глобальная установка pipenv: python -m pip install pipenv.