我最近使用以下命令安装了pipenv
:pip3 install --user pipenv
。 (值得一提的是,我正在遵循Python的官方指南here。)大多数在线资源似乎表明用户范围包的默认安装目录位于{{ 1}}。但是,我~/.local/bin
的安装似乎位于pipenv
。我担心将安装保存在特定于版本的目录(即Python 3.6)中会导致出现问题。发生了什么?我应该担心吗?
答案 0 :(得分:2)
这是完全正确的行为,而不是您需要担心的事情。
具有本机编译扩展的Python包与安装它的特定Python版本相关联,不应共享。由于您无法检测先验包将包含本机扩展,因此所有 Python包安装在特定于版本的位置。
--user
开关安装在User Scheme location:
使用Python 2.6来了"user scheme" for installation,这意味着所有Python发行版都支持特定于用户的备用安装位置。每个操作系统的默认位置在
site.USER_BASE
变量的python文档中进行了解释。可以通过指定pip install
的{{3}}选项打开此安装模式。
您始终可以通过以下方式列出USER_BASE
位置:
python3 -m site
(使用与pip
命令相关的相同Python二进制文件)。
Python模块搜索路径自动包含用户位置,并且因为该位置是Python版本(major.minor)特定的,所以不会干扰其他Python版本。
~/Library/Python/3.6/
是您拥有--user
时使用的 Mac OS X 特定路径。您可以通过设置framework build来覆盖路径。