【发布时间】:2019-02-16 20:41:51
【问题描述】:
我在安装了 Python 2.6 和 2.7 的 Windows 10 上遇到问题。
python -m pip install myPack --no-index --find-links=. --user
当使用用户 AutoUser 运行此命令时,它会将 myPack 安装到 Default 用户目录 C:\Users\Default\Python\Python27\site -packages 或 C:\Users\Default\Appdata\Roaming\Python\site-packages 改为 C:\Users\Autouser\Appdata\Roaming\Python\site-packages
- Windows 登录后不久自动安装,但我可以在日志中看到“查询用户”返回一行并带有 AutoUser(在调用 pip 之前)。
- 其他操作系统没有这个问题。
- Windows 10 上的复制不稳定:可能是 100 的 1 倍。
- 这些机器上也安装了 python 2.6 的事实,但我不确定它是否有意义:2.6 在路径系统变量中比 2.7 晚。 Here 他们写的可能是个问题,但是 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;
Python 版本:
python --version
Python 2.7.13
Pip 版本:
python -m pip --version
Pip version: pip 9.0.1 from C:\Python27\lib\site-packages (python 2.7)
【问题讨论】:
-
我认为这个答案会很有用。 stackoverflow.com/a/34803087/5774004
-
%APPDATA% 的值是多少?
-
从您运行的命令中,很明显 Python 2.6 在这里没有什么可做的。但是真实的场景呢?安装是如何触发的?是来自服务吗?启动命令的用户是什么?您应该在启动命令之前打印其环境。 请务必指定完整路径,否则可能会造成混淆。所以不可复制?你确定之前的某些模块安装没有任何关系吗?
-
@CristiFati,安装是从我们的软件自动触发的:1)它将目标虚拟机恢复到默认快照,2)等待来自内置“dropper”服务的握手; 3)向这个“dropper”发送命令以运行包含“pip install”的powershell脚本。 4) 脚本作为 AutoUser 运行(我使用“查询用户”记录它)。我未能可靠地重现该问题。至于打印环境,除了 PATH,您究竟会推荐什么?其他模块在这里肯定无关:它们根本不使用python。
标签: python windows pip windows-10