我正在使用ArcGIS Pro和,我从ArcGIS Pro复制了一个conda。如果我试图构建一个包,将显示以下错误:
ERROR Command '['C:\\Users\\...\\AppData\\Local\\Temp\\build-env-lljm30w\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
以前,它适用于较早的ArcGIS Pro版本,我认为我发现了这个问题:
pip-21.1.3-py3-none-any.whl而不是pip-20.1.1-py2.py3-none-any.whl是Lib\ensurepip_bundled中的.whl文件。
如果我在开始构建过程之前手动复制“旧”.whl文件(从与老版本的ArcGIS Pro版本的同事那里--仍然试图获取版本详细信息),它就能工作。
既然这不是解决办法,我还在找一个。有什么需要更新的吗?据我所知,_bundled目录无法更新,因为它已经是python版本的一部分。但是为什么(集成的)构建版本需要一个更老的pip.whl?
有人能帮帮我吗。
Python: 3.7.11 Arcgis Pro: 2.9.2 pip: 22.0.4构建: 0.7.0
发布于 2022-05-10 20:16:07
我也遇到过类似的情况:升级ArcGIS Pro,它随后将底层python3.6升级到3.7.11。这削弱了我在ArcPro python之上构建虚拟python环境的能力。我有和你一样的错误信息。
你的问题帮助我把问题缩小到方程的ensurepip
部分。我在this page上遵循了公认的答案,其中记录了一个类似的问题。因此,我必须更新_PIP_VERSION
变量以匹配我的.whl
文件;在我的示例中,这是与文件pip-21.1.3-py3-none-any.whl
匹配的21.1.3
。
但是,另外,我们还有py2.py3
问题(其他问题的OP没有)。为了解决这个问题,我编辑了_PROJECTS
变量中最后一个列表的最后一项,使其成为"py3")
而不是"py2.py3")
。
在进行了这两个更改之后,我就能够在基于ArcGIS的python解释器上安装一个venv。
因此,我的__init__.py
for ensurepip
的第12-19行现在如下所示:
_SETUPTOOLS_VERSION = "47.1.0"
_PIP_VERSION = "21.1.3" # "20.1.1"
_PROJECTS = [
("setuptools", _SETUPTOOLS_VERSION, "py3"),
("pip", _PIP_VERSION, "py3"), # "py2.py3"),
]
希望这能有所帮助!
https://stackoverflow.com/questions/71395733
复制相似问题