我试着用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 -m pipenv  # for python2

python3 -m pipenv # for python3

为什么有效:在Bash和其他类unix的shell环境中,-m选项用于指定要作为脚本运行的模块。

当您使用Python -m命令运行Python脚本时,您是在告诉Python解释器将脚本作为顶级模块执行,而不是作为脚本文件执行。python -m pipenv命令告诉python解释器以脚本的形式运行pipenv模块。pipenv模块必须可以从当前工作目录或PYTHONPATH环境变量中的一个目录导入。

其他回答

在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包装看起来确实很挑剔。

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

$ brew install pipenv

$ brew update pipenv

这样做之后,我就可以使用了

$ pipenv install [package_name]

我在我的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时,这种方法很有效

我在Mac OS X 10.13 High Seirra上有同样的pipenv问题,另一个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

发生这种情况是因为您没有在全局(系统范围)安装它。为了让它在你的路径中可用,你需要使用sudo安装它,就像这样:

$ sudo pip install pipenv