我从 这里 安装了嵌入式 python,标题为“Windows x86-64 可嵌入 zip 文件”,但它没有安装 pip,它也没有站点包,当我尝试做 python get-pip.py
它失败了运行,因为此文件中有 import pip
。那么如何在嵌入式 python 环境中安装 pip。
追溯(最近调用最后一次):文件“.\getpip.py”,第 20061 行,在 main() 文件“.\getpip.py”,第 194 行,在主引导程序中(tmpdir=tmpdir)文件“.\getpip. py”,第 82 行,在 bootstrap 导入 pip 文件“”,第 961 行,在_find_and_load 文件“”,第 950 行,在 _find_and_load_unlocked 文件“”,第 646 行,在 _load_unlocked 文件“”,第 616 行,在 _load_backward_compatible
目录结构为:
Directory: C:\Downloads\python-3.6.1rc1-embed-win32
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 3/4/2017 7:26 PM 157344 pyexpat.pyd
-a---- 3/4/2017 7:26 PM 97952 python.exe
-a---- 3/4/2017 7:26 PM 58016 python3.dll
-a---- 3/4/2017 7:26 PM 3263648 python36.dll
-a---- 3/4/2017 7:26 PM 2209284 python36.zip
-a---- 3/4/2017 7:26 PM 79 python36._pth
-a---- 3/4/2017 7:26 PM 96416 pythonw.exe
-a---- 3/4/2017 7:26 PM 23200 select.pyd
-a---- 3/4/2017 7:26 PM 866464 sqlite3.dll
-a---- 3/4/2017 7:26 PM 895648 unicodedata.pyd
-a---- 3/4/2017 7:26 PM 83784 vcruntime140.dll
-a---- 3/4/2017 7:26 PM 24224 winsound.pyd
-a---- 3/4/2017 7:26 PM 45216 _asyncio.pyd
-a---- 3/4/2017 7:26 PM 77984 _bz2.pyd
-a---- 3/4/2017 7:26 PM 101536 _ctypes.pyd
-a---- 3/4/2017 7:26 PM 215712 _decimal.pyd
-a---- 3/4/2017 7:26 PM 156832 _elementtree.pyd
-a---- 3/4/2017 7:26 PM 1042592 _hashlib.pyd
-a---- 3/4/2017 7:26 PM 183456 _lzma.pyd
-a---- 3/4/2017 7:26 PM 32416 _msi.pyd
-a---- 3/4/2017 7:26 PM 25760 _multiprocessing.pyd
-a---- 3/4/2017 7:26 PM 33952 _overlapped.pyd
-a---- 3/4/2017 7:26 PM 61600 _socket.pyd
-a---- 3/4/2017 7:26 PM 64160 _sqlite3.pyd
-a---- 3/4/2017 7:26 PM 1458848 _ssl.pyd
原文由 fluter 发布,翻译遵循 CC BY-SA 4.0 许可协议
我最近遇到了同样的问题。我检查了 pip 的文档,他们似乎说这个用例不受支持等。但无论如何,这是我让模块工作的技巧。
我安装了,我的意思是将嵌入式 python 解压到一个名为 d:\python 的目录中。我假设模块将位于同一个目录中。
首先,要安装 pip 模块,我需要保存提取的文件。我使用支持 unix 行终止符的文本编辑器更改了 get-pip.py,方法是删除从 get-pip.py 文件中包含的 blob 中删除临时和解压缩树的 rmtree 行。
我更改了两个位置,但只需要最后一个。我在两个位置更改的行读取
我因此修改了它(我不想打扰 python 缩进块):
我现在在修改后的 get-pip.py 上运行我的 python D:\python\python.exe 并找到文件解压缩到的临时目录。
我将这个目录(检查它是否包含 主.py)文件复制到 python 安装 D:\python\pip(这是我希望我的模块所在的位置),确保 D:\python\pip 目录包含 主.py 文件。
pip 模块现在安装在 python 目录中,但您需要进一步破解 pip 以删除上述异常。我通过更改 locations.py 文件(在我的例子中位于 D:\python\pip\locations.py)来返回 D:\python 的 bin_py 和 bin_user 位置来做到这一点。
IE:
我必须将 pip 的 user_dir 更改为可以持久保存在多个虚拟机共享的驱动器上的某个位置。
pip 模块现在运行良好,例如