【发布时间】:2021-01-18 18:52:58
【问题描述】:
为了不出现 XY 问题:目标是在 Synology dsm 上创建一个虚拟环境,所以没有 apt-get,其中 pip 是手动安装的。
我正在尝试在上述环境中创建一个虚拟环境(手动安装 pip 的 Synology dsm 包 python 3.8)。
但是这会产生以下错误:
$ python3 -m venv new_venv
Error: Command '['/volume1/docker/builder/new_venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
在发现该错误的过程中,我发现venv 工作“很好”:
$ python3 -m venv --without-pip new_venv
按预期工作。 pip 本身也按预期工作。但是我必须手动安装 pip。这也导致python的synology dsm版本没有模块ensurepip..
# python3 -c "import ensurepip; print(ensurepip.__file__);"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'ensurepip'
这带来了问题:如何手动安装ensurepip,和/或在不依赖ensurepip 的情况下让虚拟环境安装pip?
【问题讨论】:
-
@phd 是的 pip 已通过它安装并正常工作 - 就是
venv依赖于未安装的ensurepip。
标签: python pip python-3.8 python-venv synology