我试着用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,但我不清楚该向文件中添加什么,或者修改是否有必要。
如何使pipenv一个基本命令
使用Python3的Pipenv需要以“$ python -m Pipenv[命令]”或“$ Python3 -m Pipenv[命令]”的方式运行;开头的"python"命令根据你在shell中激活python的方式而有所不同。修复并设置为"$ pipenv[命令]":[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”的形式运行。
不客气
通过覆盖全局/系统管理的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