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


当前回答

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),然后你只需要放入you ~/。Bashrc如下:

导出路径= " $路径:/图书馆/框架/ Python.framework /版本/ 3.6 / bin”

其他回答

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

通过覆盖全局/系统管理的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

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

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和其他unix上,通常Python 2和Python 3是并排安装的。默认的Python 3可执行文件几乎总是python3。pip可能以以下任何一种方式可用,这取决于您的Linux发行版

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

Linux

避免与sudo一起使用pip !是的,这是安装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,您可以使用py -m pip运行pip。

安装全局站点包

C:\Python37\lib\site-packages

因为你通常不共享你的Windows设备,所以全局安装一个包也是可以的

py -m pip install pipenv

Pipenv现在可以在

C:\Python37\Scripts\pipenv.exe

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

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

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

您可以考虑通过pipsi安装pipenv。

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

不幸的是,在撰写本文时macOS + python3存在一些问题,请参见1,2。在我的例子中,我必须将bashprompt更改为#!/Users/einselbst/.local/venvs/pipsi/bin/python