Я новичок в разработке 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, но я не понимаю, что добавить в файл, и если модификация вообще необходима.
python
python-3.x
pip
pipenv
lgants
источник
источник
/usr/local/bin/pipenv
- оно есть? Является ли/usr/local/bin
в вашей$PATH
?pipenv
глобально?Ответы:
Это происходит потому, что вы не устанавливаете его глобально (в масштабе всей системы). Чтобы он был доступен у вас,
path
вам необходимо установить егоsudo
, например:источник
sudo -H pip install -U pipenv
(например, в ubuntu), устанавливаяpipenv
в/usr/local/bin
. Альтернативой является установка пользователем, например,$ pip install pipenv
которая совпадает с$ pip install --user pipenv
, которая устанавливает вещи$HOME/.local/...
, требуяPATH
изменения, как в другом ответе, stackoverflow.com/a/47111756/127971Это исправило это для меня:
источник
Если вы выполнили установку пользователем, вам нужно добавить нужную папку в вашу
PATH
переменную.См. Инструкции по установке pipenv
источник
pipenv run
, и инструкции по установке говорили мне об этом.python3 -m site
ли каталог --user-base!Я пробовал это:
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 там нет. Итак, я попробовал полностью удалить:Затем переустановите и теперь работает:
источник
РЕБЯТА OSX, ЗДЕСЬ !!!
Как ответил @charlax (для меня лучший), вы можете использовать более динамическую команду для установки PATH, но для пользователей Mac это не может работать , иногда ваш путь USER_BASE, полученный с сайта, неверен, поэтому вам нужно узнать, где ваш установка python есть.
вы получите символическую ссылку, тогда вам нужно будет найти символическую ссылку на источник.
(это
../../../
означает корень)Итак, вы нашли путь Python (
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
), тогда вам просто нужно ввести ~ / .bashrc следующим образом:export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"
источник
which python3
вывод,/Cellar/python/3.7.7/bin/python3
я назначил его своему PATH, но по-прежнему pipenv не найден. Любая идея?Где Python хранит пакеты
Прежде чем перейти к команде, которая будет устанавливать
pipenv
, стоит понять, гдеpip
устанавливаются пакеты Python .Глобальные пакеты сайтов - это место, где Python устанавливает пакеты, которые будут доступны всем пользователям и всем приложениям Python в системе. Вы можете проверить глобальный пакет сайта с помощью команды
Например, в Linux с Python 3.7 путь обычно
Пользовательские пакеты сайта - это место, где Python устанавливает пакеты, доступные только вам. Но пакеты по-прежнему будут видны всем проектам Python, которые вы создаете. Вы можете пройти путь с
В Linux с Python 3.7 путь обычно
Использование Python 3.x
В большинстве Linux и других Unix Python 2 и Python 3 обычно устанавливаются бок о бок. Исполняемый файл Python 3 по умолчанию почти всегда
python3
.pip
может быть доступен как один из следующих, в зависимости от вашего дистрибутива LinuxLinux
Избегайте использования
pip
сsudo
! Да, это наиболее удобный способ установки пакетов Python, и исполняемый файл доступен по адресу/usr/local/bin/pipenv
, но это также означает, что конкретный пакет всегда виден всем пользователям и всем проектам Python, которые вы создаете. Вместо этого используйте пакеты сайта для каждого пользователя с--user
pipenv
доступно наmacOS
В macOS рекомендуется использовать Homebrew для установки Python . Вы можете легко обновить Python, установить несколько версий Python и переключаться между версиями с помощью Homebrew.
Если вы используете Homebrew'ed Python,
pip install --user
он отключен. Глобальный сайт-пакет находится по адресуи вы можете безопасно установить здесь пакеты Python. Python 3.y также ищет модули в:
Windows
По причинам устаревания Python установлен в
C:\Python37
. Исполняемый файл Python обычно называетсяpy.exe
, и вы можете запускать егоpip
сpy -m pip
.Пакеты глобальных сайтов установлены в
Поскольку вы обычно не используете свои устройства Windows совместно, можно также установить пакет глобально.
pipenv
теперь доступен наЯ не рекомендую устанавливать пакеты Python в Windows с помощью
--user
, потому что каталог сайта пользователя по умолчанию находится в вашем перемещаемом профиле WindowsПеремещаемый профиль используется в службах терминалов (удаленный рабочий стол, Citrix и т. Д.), А также при входе / выходе из корпоративной среды. Медленный вход, выход из системы и перезагрузка в Windows могут быть вызваны большим перемещаемым профилем.
источник
Глобальная установка 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/#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
источник
Это исправлено для меня:
источник
После установки pipenv (
sudo pip install pipenv
) я продолжал получать ошибку «Команда не найдена» при попытке запуститьpipenv shell
команду.Наконец я исправил это с помощью следующего кода:
источник
Вы можете рассмотреть возможность установки
pipenv
черезpipsi
.К сожалению, на момент написания есть некоторые проблемы с macOS + python3, см. 1 , 2 . В моем случае мне пришлось изменить bashprompt на
#!/Users/einselbst/.local/venvs/pipsi/bin/python
источник
В некоторых случаях старой
pip
версии:источник
Для пользователей окон это может быть связано с конфликтом установки с virtualenv. Для меня это сработало, когда я сначала удалил virtualenv и pipenv, а затем установил только pipenv.
Теперь
pipenv install xxx
работал у меняисточник
В Mac OS X Catalina похоже, что он следует пути Linux. Использование любого из:
По сути, здесь устанавливается pipenv:
Но это не исполняемый файл, поэтому его никогда не находят. Единственное, что у меня сработало, это
Похоже, что в результате в
__init__.py
указанном выше каталоге создается файл, содержащий содержимое для правильного отображенияpipenv
команды.и все начало работать, когда все остальные опубликованные и прокомментированные предложения по этому вопросу потерпели неудачу.
Пакет pipenv определенно кажется довольно разборчивым.
источник