Pip --user将软件包安装到Windows 10上的默认用户目录

fla*_*am3 17 python windows pip windows-10

我在安装了Python 2.6和2.7的Windows 10上遇到了问题.

python -m pip install myPack --no-index --find-links=. --user
Run Code Online (Sandbox Code Playgroud)

使用用户AutoUser运行此命令时,它会将myPack安装到默认用户目录C:\ Users\Default\Python\Python27\site-packages或C:\ Users\Default\Appdata\Roaming\Python\site-packages 而不是 C:\ Users\Autouser \应用程序数据\漫游\ Python的\站点包

  • Windows登录后很快就会自动安装,但我可以在日志中看到"查询用户"使用AutoUser返回一行(在调用pip之前).
  • 其他操作系统没有这个问题.
  • Windows 10上的再现不稳定:可能是100次的1次.
  • 事实上python 2.6也安装在这些机器上,但我不确定它是否有意义:2.6在Path系统变量中比2.7更晚.在这里他们写的可能是一个问题,但是pip不会混淆python版本,它会混淆用户的目录.

路径:

C:\ProgramData\Oracle\Java\javapath;C:\Python27\;C:\Python27\Scripts\;C:\Python26\;C:\Python26\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;
Run Code Online (Sandbox Code Playgroud)

Python版本:

python --version
Python 2.7.13
Run Code Online (Sandbox Code Playgroud)

点子版本:

python -m pip --version
Pip version: pip 9.0.1 from C:\Python27\lib\site-packages (python 2.7) 
Run Code Online (Sandbox Code Playgroud)

Del*_*101 7

您可以尝试使用如下--target选项设置安装目标:

pip install --target=C:\Users\Autouser\Appdata\Roaming\Python\site-packages package_name
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,另一种选择是尝试--install-option像这样使用:

pip install --install-option="--prefix=$PREFIX_PATH" package_name
Run Code Online (Sandbox Code Playgroud)

最后,如果所有其他方法都失败了,这里还有另一种方法:

PYTHONUSERBASE=/path/to/install/to pip install --user
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令指定要为其安装软件包的 python 版本 python2.x -m pip install ...

希望其中之一对您有所帮助!:)