我试着用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,但我不清楚该向文件中添加什么,或者修改是否有必要。


当前回答

如果你使用MAC

sudo -H pip3安装pipenv

其他回答

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

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

$ sudo pip install pipenv

我试了一下:

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 OSX上成功解决“Pipenv: Command Not Found”问题的方法

您应该将这些目录的所有权更改为您的用户。 sudo chown -R $(whoami) /usr/local/share 请确保您的用户具有写权限。 Chmod u+w /usr/local/share 然后考虑使用Homebrew安装: 酿造更新 酿造安装pyenv

它可能安装在您的用户路径中。

例如,如果您的用户(用户名)是Tom,请检查此路径

/home/tom/.local/bin/pipenv

如果路径中存在pipenv,可以将其移动或复制到一般用户路径,这样就可以从所有终端会话执行pipenv。

cp /home/tom/.local/bin/pipenv /usr/bin/

那你就能运行pipenv了