在封闭网络中的计算机上安装软件包
Installing packages on computer in a closed network
我无法在无法访问互联网的计算机上使用 pip 安装某些软件包。
我从源文件中全新安装了 python3.10。
这是命令我 运行:
pip3.10 install --no-index --find-links=/path/to/my/local/python-libs --no-cache-dir virtualenv
在目录 /path/to/my/local/python-libs
中,我放了软件包发布的 zip 文件:
- setuptools-62.1.0.zip
- virtualenv-20.8.1.zip
- wheel-0.37.1.zip
我已经尝试了 --use-deprecated=legacy-resolver
选项,但它也不起作用。
错误信息是:
Processing ./python-libs/setuptools-62.1.0.zip
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Discarding file:///home/user/python-libs/setuptools-62.1.0.zip: Requested setuptools>=41.0.0 from ile:///home/user/python-libs/setuptools-62.1.0.zip has inconsistent version: filename has '62.1.0', but metadata has '62.1.0.post20220423'
ERROR: Could not find a version that satisfies the requirement setuptools>=41.0.0 (from versions: 62.1.0)
ERROR: No matching distribution found for setuptools>=41.0.0
找了一整天的原因,不知道是新的pip解析器还是PEP517引起的,不知道。
我想如果你想在没有互联网的情况下安装 python 模块,因为你已经下载了它们,首先要用以下内容制作一个 requirements.txt 文件。
setuptools==62.1.0
virtualenv==20.8.1
wheel==0.37.1
我刚刚从你的下载文件中获取了版本号
然后转到有 requirements.txt 的目录
运行
pip install -r requirements.txt --no-index --find-links --find-links=/path/to/my/local/python-libs
注意添加 -r requirements.txt 允许您控制 pip 包的版本号。
如果这不能解决问题,那么您下载的二进制文件可能有问题,请尝试重新下载它们,但这次使用 requirements.txt
pip download -r requirements.txt -d binaries
这会将 requirements.txt 请求的二进制文件和版本下载到名为 binaries
的文件夹中
然后,将新的二进制文件移动到所需的文件夹 (/path/to/my/local/python-libs) 后,只需在离线计算机上再次尝试第一个命令即可。
我无法在无法访问互联网的计算机上使用 pip 安装某些软件包。 我从源文件中全新安装了 python3.10。 这是命令我 运行:
pip3.10 install --no-index --find-links=/path/to/my/local/python-libs --no-cache-dir virtualenv
在目录 /path/to/my/local/python-libs
中,我放了软件包发布的 zip 文件:
- setuptools-62.1.0.zip
- virtualenv-20.8.1.zip
- wheel-0.37.1.zip
我已经尝试了 --use-deprecated=legacy-resolver
选项,但它也不起作用。
错误信息是:
Processing ./python-libs/setuptools-62.1.0.zip
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Discarding file:///home/user/python-libs/setuptools-62.1.0.zip: Requested setuptools>=41.0.0 from ile:///home/user/python-libs/setuptools-62.1.0.zip has inconsistent version: filename has '62.1.0', but metadata has '62.1.0.post20220423'
ERROR: Could not find a version that satisfies the requirement setuptools>=41.0.0 (from versions: 62.1.0)
ERROR: No matching distribution found for setuptools>=41.0.0
找了一整天的原因,不知道是新的pip解析器还是PEP517引起的,不知道。
我想如果你想在没有互联网的情况下安装 python 模块,因为你已经下载了它们,首先要用以下内容制作一个 requirements.txt 文件。
setuptools==62.1.0
virtualenv==20.8.1
wheel==0.37.1
我刚刚从你的下载文件中获取了版本号
然后转到有 requirements.txt 的目录 运行
pip install -r requirements.txt --no-index --find-links --find-links=/path/to/my/local/python-libs
注意添加 -r requirements.txt 允许您控制 pip 包的版本号。
如果这不能解决问题,那么您下载的二进制文件可能有问题,请尝试重新下载它们,但这次使用 requirements.txt
pip download -r requirements.txt -d binaries
这会将 requirements.txt 请求的二进制文件和版本下载到名为 binaries
的文件夹中然后,将新的二进制文件移动到所需的文件夹 (/path/to/my/local/python-libs) 后,只需在离线计算机上再次尝试第一个命令即可。