Pip3 没有将用户范围的软件包安装到 ~/.local/bin



我最近使用以下命令安装了pipenvpip3 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环境变量来覆盖路径。

相关内容

  • 没有找到相关文章

最新更新