擅长:python、mysql、java
<p>我最近碰到了同样的问题。我查看了pip的文档,他们似乎说这个用例是不受支持的等等,但是无论如何,这里是我让模块工作的技巧。</p>
<p>我安装了,我的意思是将嵌入式python解压到一个名为d:\ python的目录中。我假设模块将位于同一目录中。</p>
<p>首先,要安装pip模块,我需要保存附加的文件。我使用支持<em>unix</em>行结束符的文本编辑器更改了get-pip.py,方法是删除rmtree行,这些行从get-pip.py文件中包含的blob中删除临时和解包的树。</p>
<p>我改变了两个位置,但只需要最后一个。我在两个地方换了一行</p>
<pre><code>shutil.rmtree(tmpdir, ignore_errors=True)
</code></pre>
<p>我就这样修改了它(我不想为python缩进块而烦恼):</p>
<pre><code>print('shutil.rmtree(tmpdir, ignore_errors=True)')
</code></pre>
<p>现在,我在修改后的get-pip.py上运行python D:\ python\python.exe,找到文件解压缩到的临时目录。</p>
<p>我将这个目录(检查它是否包含<strong>main</strong>.py)文件复制到python install D:\ python\pip(这是我希望模块存在的地方),确保D:\ python\pip目录包含<strong>main</strong>.py文件。</p>
<p>pip模块现在安装在python目录中,但是需要进一步修改pip以删除上面的异常。为此,我更改了locations.py文件(在我的例子中位于D:\ python\pip\locations.py中)以返回D:\ python的bin-py和bin-u用户位置。</p>
<p>即:</p>
<pre><code>86 if WINDOWS:
....
bin_py = 'd:/python'
bin_user = 'd:/python'
</code></pre>
<p>我不得不将pip的user_dir更改为在这个驱动器上持久存在的、跨多个vm共享的某个位置。</p>
<p>pip模块现在运行良好</p>
<blockquote>
<p>d:\python\python.exe -m pip ...</p>
</blockquote>