Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pip——用户将软件包安装到Windows 10上的默认用户目录_Python_Windows_Pip_Windows 10 - Fatal编程技术网

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

Python Pip——用户将软件包安装到Windows 10上的默认用户目录,python,windows,pip,windows-10,Python,Windows,Pip,Windows 10,我在安装了Python 2.6和2.7的Windows 10上遇到了一个问题 python -m pip install myPack --no-index --find-links=. --user 使用用户AutoUser运行此命令时,它会将myPack安装到默认用户目录C:\Users\Default\Python\Python27\site packages或C:\Users\Default\Appdata\Roaming\Python\site packages中,而不是C:\Use

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

python -m pip install myPack --no-index --find-links=. --user
使用用户AutoUser运行此命令时,它会将myPack安装到默认用户目录C:\Users\Default\Python\Python27\site packages或C:\Users\Default\Appdata\Roaming\Python\site packages中,而不是C:\Users\AutoUser\Appdata\Roaming\Python\site packages

  • windows登录后很快就会自动安装,但我可以在日志中看到“query user”返回一行AutoUser(在调用pip之前)
  • 其他操作系统没有这个问题
  • Windows 10上的复制不稳定:可能是100的1倍
  • python 2.6也安装在这些机器上,但我不确定它是否有意义:在Path系统变量中,2.6比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;
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) 

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

pip install --target=C:\Users\Autouser\Appdata\Roaming\Python\site-packages package_name
如果不起作用,另一个选项是尝试使用
--install option
,如下所示:

pip install --install-option="--prefix=$PREFIX_PATH" package_name
最后,如果所有其他方法都失败了,那么还有一种方法:

PYTHONUSERBASE=/path/to/install/to pip install --user
您可以使用
python2.x-mpipinstall…


希望其中一个能帮助你!:)

不幸的是,我不得不在生产过程中迅速解决这个问题,所以我放弃了,并在没有c:/python27/…的--user选项的情况下安装了它。。。目录
我想@DeltaMarine101中的一个建议会有所帮助

安装时尝试以管理员身份运行cmd

我认为这个答案会很有用。%APPDATA%的值是多少?从您运行的命令来看,很明显Python2.6在这里没有任何作用。但真实情况如何?安装是如何触发的?是从服务中心来的吗?启动命令的用户是什么?您应该在启动命令之前打印其环境。当可能出现混淆时,请始终指定完整路径。所以它是不可复制的?您确定以前的某个模块安装没有任何事情要做吗?@CristiFati,安装是从我们的软件自动触发的:1)它将目标VM恢复到默认快照,2)等待来自内置“dropper”服务的握手;3) 将命令发送到此“滴管”以运行包含“pip安装”的powershell脚本。4) 脚本以自动用户的身份运行(我用“查询用户”记录了它)。我未能可靠地再现这个问题。至于打印环境,除了PATH之外,您还有什么建议?其他模块在这里肯定没什么可做的:它们根本不使用python。“我放弃”不是解决方案。如果它被移动到一个评论,这将是好的,但它不应该在这里作为一个答案,特别是被接受的答案。