我最近使用以下命令安装了pipenv
:pip3 install --user pipenv
。(值得一提的是,我在这里遵循Python的官方指南。)大多数在线资源似乎都表明,用户范围软件包的默认安装目录位于~/.local/bin
。但是,我安装的pipenv
似乎位于~/Library/Python/3.6/bin
中。我担心将安装保存在特定版本的目录(即Python 3.6)中可能会导致以后出现问题。发生了什么?我应该担心吗?
这是完全正确的行为,不需要担心。
具有本机编译扩展的Python包与安装它的特定Python版本绑定,不应共享。因为您无法预先检测哪个包将包含本机扩展,所以所有Python包都安装在特定版本的位置。
--user
交换机安装在用户方案位置:
Python 2.6提供了用于安装的"用户方案",这意味着所有Python发行版都支持特定于用户的替代安装位置。每个操作系统的默认位置在
site.USER_BASE
变量的python文档中有解释。通过将--user
选项指定为pip install
,可以打开此安装模式。
您总是可以通过运行来列出您的USER_BASE
位置
python3 -m site
(使用与pip
命令绑定的Python二进制文件)。
Python模块搜索路径自动包括用户位置,并且因为该位置是特定于Python版本(major.minor)的,所以不会干扰其他Python版本。
~/Library/Python/3.6/
是构建框架时使用的Mac OS X特定路径。可以通过设置PYTHONUSERBASE
环境变量来覆盖路径。