为了避免出现XY问题:我们的目标是在synology上创建一个虚拟环境,这样就没有apt-get,其中pip是手动安装的。
我试图在上面的环境中创建一个虚拟环境(synology包python3.8,手动安装pip )。
但是,这会产生以下错误:
$ 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。这也导致synology版本的python没有模块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
的情况下使虚拟env安装ensurepip
发布于 2022-01-05 09:39:20
在venv虚拟环境中安装pip
下载最新的pip安装脚本并将文件命名为get-pip.py:
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
使用Python3创建虚拟环境,但其中没有pip (假设您在/volume1/docker/builder/
中):
$ python3 -m venv --without-pip /volume1/docker/builder/new_venv
激活虚拟环境:
$ source /volume1/docker/builder/new_venv/bin/activate
您的提示符现在应该包含parens中的虚拟环境名称:
(new_venv) $
脚本将在激活的 venv虚拟环境中安装pip:
(new_venv) $ python get-pip.py
# or
(new_venv) $ python3 get-pip.py
https://stackoverflow.com/questions/65780452
复制相似问题