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


当前回答

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

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

PIP安装——pipenv用户

这应该在/home/username/的用户级别安装pipenv。局部的,这样就不会与pip的全局版本冲突。在我的例子中,在运行了“——user”开关之后,这仍然不起作用,所以我运行了一次更长的“fix what I screw up”命令来恢复系统管理的环境:

Sudo python3 -m PIP uninstall PIP && Sudo apt install python3- PIP—重新安装

升级pip后出现错误:无法导入名称“main”

然后做了以下事情:

mkdir /home/username/.地方……如果它还不存在

出口PYTHONUSERBASE = / home /用户名/。local

确保导出生效(在这个过程中咬了我一下):

echo $ PYTHONUSERBASE

然后,我运行pipenv用户的pip install,一切正常。然后我可以从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

其他回答

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

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

/home/tom/.local/bin/pipenv

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

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

那你就能运行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包装看起来确实很挑剔。

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

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

PIP安装——pipenv用户

这应该在/home/username/的用户级别安装pipenv。局部的,这样就不会与pip的全局版本冲突。在我的例子中,在运行了“——user”开关之后,这仍然不起作用,所以我运行了一次更长的“fix what I screw up”命令来恢复系统管理的环境:

Sudo python3 -m PIP uninstall PIP && Sudo apt install python3- PIP—重新安装

升级pip后出现错误:无法导入名称“main”

然后做了以下事情:

mkdir /home/username/.地方……如果它还不存在

出口PYTHONUSERBASE = / home /用户名/。local

确保导出生效(在这个过程中咬了我一下):

echo $ PYTHONUSERBASE

然后,我运行pipenv用户的pip install,一切正常。然后我可以从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

在这种情况下,您只需要将二进制路径添加到bash中。如果你正在使用ZSH,例如,你需要编辑。ZSHRC文件作为admind,然后在上面的评论中添加@charlax提到的代码:

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

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

$ sudo pip install pipenv