179

我是 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,但我不清楚要添加到文件中的内容,或者是否需要修改。

4

22 回答 22

206

这为我修复了它:

sudo -H pip install -U pipenv
于 2017-12-20T03:24:45.693 回答
186

发生这种情况是因为您没有在全局(系统范围)安装它。要使其在您的系统中可用,您path需要使用 安装它sudo,如下所示:

$ sudo pip install pipenv
于 2017-09-25T00:35:45.193 回答
91

如果您已完成用户安装,则需要将正确的文件夹添加到您的PATH变量中。

PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"

查看pipenv 的安装说明

于 2017-11-04T14:28:05.650 回答
36

我试过这个:

python -m pipenv  # for python2

python3 -m pipenv # for python3
于 2018-05-31T09:22:55.733 回答
25

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
于 2018-07-06T09:37:47.960 回答
11

Python 存储包的位置

在进入将要安装的命令之前pipenv,有必要了解pip Python 包的安装位置。

全局站点包是 Python 安装包的地方,这些包将可供系统上的所有用户和所有 Python 应用程序使用。可以使用命令查看全局站点包

python -m site

例如,在带有 Python 3.7 的 Linux 上,路径通常是

/usr/lib/python3.7/dist-packages/setuptools

用户站点包是 Python 安装仅供您使用的包的地方。但是这些包仍然对您创建的所有 Python 项目可见。你可以得到路径

python -m site --user-base

在带有 Python 3.7 的 Linux 上,路径通常是

~/.local/lib/python3.7/site-packages

使用 Python 3.x

在大多数 Linux 和其他 Unices 上,通常并行安装 Python 2 和 Python 3。默认的 Python 3 可执行文件几乎总是python3. pip根据您的 Linux 发行版,可能会提供以下任一版本

pip3
python3-pip
python36-pip
python3.6-pip

Linux

避免使用pipwith sudo!是的,这是安装 Python 包最方便的方法,可执行文件可在 上获得/usr/local/bin/pipenv,但这也意味着特定包始终对所有用户和您创建的所有 Python 项目可见。相反,使用每用户站点包而不是--user

pip3 install --user pipenv

pipenv可在

~/.local/bin/pipenv

苹果系统

在 macOS 上,Homebrew 是安装 Python 的推荐方式。您可以轻松升级 Python、安装多个版本的 Python 并使用 Homebrew 在版本之间切换。

如果您使用的是 Homebrew'ed 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

视窗

由于遗留原因,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

我不建议在 Windows 中使用 安装 Python 包--user,因为默认用户 site-package 目录位于您的 Windows 漫游配置文件中

C:\Users\user\AppData\Roaming\Python\Python37\site-packages 

漫游配置文件用于终端服务(远程桌面、Citrix 等)以及您在公司环境中登录/注销时。大型漫游配置文件可能会导致 Windows 中的登录、注销和重新启动缓慢。

于 2019-08-10T14:51:35.027 回答
8

OSX 伙计们,在这里!!!

正如@charlax 回答的那样(对我来说是最好的),您可以使用更动态的命令来设置 PATH,但对于 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"

于 2018-04-15T13:48:05.233 回答
5

对于使用 安装它的人sudo pip3 install pipenv,您需要使用python3 -m pipenv shellpython3.9 -m pipenv shell

于 2021-05-23T07:19:36.913 回答
5

通过覆盖全局/系统管理的 pip 安装,全局安装 pipenv 可能会产生不利影响,从而在尝试运行 pip 时导致导入错误。

您可以在用户级别安装 pipenv:

pip install --user pipenv

这应该在 /home/username/.local 中的用户级别安装 pipenv,这样它就不会与 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,一切都很好。然后我可以从 CLI 运行 pipenv,它不会覆盖全局/系统管理的 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

于 2018-09-25T22:01:03.257 回答
5

操作系统:Linux
Pip 版本:pip3
sudo -H pip3 install -U pipenv

操作系统:Windows
Pip 版本:任何一个
sudo -H pip install -U pipenv

于 2020-12-10T13:45:07.620 回答
4

我不知道发生了什么,但以下工作(在 mac os catalina 下)

$ brew install pipenv

$ brew update pipenv

这样做后我可以使用

$ pipenv install [package_name]
于 2020-11-01T15:20:21.420 回答
3

通过使用我的中央包管理器(apt)安装 pipenv 轻松解决了这个问题

sudo apt install pipenv

您可以使用包管理器(apt、yum、brew)轻松安装 pipenv,并将其直接添加到 $PATH 变量中。

更值得一提的是它适用于 zsh。我在 Ubuntu 上使用 zsh 并尝试将 pipenv 添加到 $PATH 和其他解决方案,但直到我使用 apt 安装它才起作用。

于 2022-02-16T13:48:37.860 回答
2

我在我的 Mac 上使用 zsh,对我有用的是首先安装 pipenv

pip3 install --user pipenv

然后我更改了 ~/.zshrc 中的 PATH

vi ~/.zshrc

在编辑器中按i插入您的文本:

export PATH="/Users/yourUser/Library/Python/3.9/bin:$PATH"

esc然后写:wq! 关闭终端并重新打开它。最后写pipenv

这种方式适用于我使用 macOS BigSur 11.1

于 2020-12-23T07:48:44.693 回答
2

在 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 包当然看起来很挑剔。

于 2019-12-06T10:01:20.910 回答
2

如何使 PIPENV 成为基本命令

使用 Python3 的 Pipenv 需要以 "$ python -m pipenv [command]" 或 "$ python3 -m pipenv [command]" 运行;开头的“python”命令根据您在 shell 中激活 Python 的方式而有所不同。修复并设置为“$ pipenv [command]”:[Git Bash 中的示例]

$ cd ~
$ code .bash_profile

第一行是必要的,因为它允许您访问 .bash_profile 文件。第二行在 VSCode 中打开 .bash_profile,因此插入默认代码编辑器的命令。此时您需要(在 .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”运行。

别客气。

于 2020-10-15T23:47:22.020 回答
1

对于窗口用户,这可能是由于与 virtualenv 的安装冲突。对我来说,当我先卸载 virtualenv 和 pipenv,然后只安装 pipenv 时,它就起作用了。

pip uninstall virtualenv
pip uninstall pipenv
pip install pipenv

现在pipenv install xxx为我工作

于 2019-06-08T05:08:27.713 回答
1

安装 pipenv ( sudo pip install pipenv) 后,我在尝试运行命令时不断收到“找不到命令”错误pipenv shell

我终于用以下代码修复了它:

pip3 install pipenv
pipenv shell
于 2019-08-26T20:50:45.140 回答
1

在 Mac 上,您可能需要执行以下操作:

pip3 install pipenv

然后,cd进入您的根目录以找到该.zshrc文件。

然后将其添加到路径

export PATH=/Library/Frameworks/Python.framework/Versions/3.9/bin:$PATH

注意:3.9 是您系统上运行的 Python 版本。注意:您可以在根目录中.zshrc使用cmd++访问shift.... 该文件默认隐藏

保存并重新启动终端

于 2021-09-03T18:33:17.950 回答
0

这是我在 Mac OSX 上成功解决“Pipenv: Command Not Found”的方法

  1. 您应该将这些目录的所有权更改为您的用户。

    sudo chown -R $(whoami) /usr/local/share

  2. 确保您的用户具有写入权限。

    chmod u+w /usr/local/share

  3. 然后考虑使用 Homebrew 安装:

    冲泡更新
    冲泡安装pyenv

于 2021-12-22T18:09:58.080 回答
0

您可以考虑pipenv通过pipsi.

curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get -pipsi.py | python3
pipsi install pew
pipsi install pipenv

不幸的是,在撰写本文时 macOS + python3 存在一些问题,请参阅12。就我而言,我不得不将 bashprompt 更改为#!/Users/einselbst/.local/venvs/pipsi/bin/python

于 2018-02-05T11:52:49.983 回答
0

在旧pip版本的某些情况下:

sudo easy_install pip
sudo pip install pipenv
于 2019-03-20T16:09:56.880 回答
-1

对我来说,在 Windows 上运行的是以管理员身份运行命令提示符,然后全局安装 pipenv:python -m pip install pipenv。

于 2021-02-16T18:46:20.060 回答