文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

离线安装Python软件包的方法

2023-09-10 15:29

关注

由于公司的办公电脑只能在内网环境使用,所以熟悉的使用pip install some-package命令安装Python软件包的方法不能使用,需要实现离线安装Python软件包。下面介绍2种离线安装Python软件包的方法。

方法1:离线安装单个Python软件包

在可以连接外网的电脑上使用pip download some-package命令下载离线Python软件包,这时会有2种情况:

1. 所要安装的包不需要依赖其他包

由于所要安装的包不需要依赖其他包,只有一个文件会被下载下来。离线安装时使用pip install 下载的文件路径即可,以urllib3包为例:

pip download urllib3 -i https://pypi.tuna.tsinghua.edu.cn/simple

使用此命令下载后得到一个urllib3-1.26.12-py2.py3-none-any.whl文件,离线安装时使用命令

pip install urllib3-1.26.12-py2.py3-none-any.whl

有些包下载的文件格式可能为tar.gz,这表示下载的文件是源码形式的,也可以直接进行安装,pip会自动对源码进行构建,然后安装。不过这时推荐在下载包时使用pip wheel some-package命令,该命令下载的文件格式为whl,这表示下载的文件是预构建形式的,相比于源码形式的文件,它可以提供速度更快的安装。

2. 所要安装的包需要依赖其他包

由于所要安装的包需要依赖其他包,会有多个文件会被下载下来。离线安装时直接使用pip install 下载的文件路径会导致pip找不到依赖而报错,这时需要添加--find-links=路径选项来指定寻找依赖的路径,以requests包为例:

pip download requests -d packages -i https://pypi.tuna.tsinghua.edu.cn/simple

-d packages选项表示将多个文件保存在packages文件夹下。使用此命令下载后可以在packages文件夹中找到5个文件,分别是requests-2.28.1-py3-none-any.whl、certifi-2022.6.15-py3-none-any.whl、charset_normalizer-2.1.1-py3-none-any.whl、idna-3.3-py3-none-any.whl和urllib3-1.26.12-py2.py3-none-any.whl,离线安装时使用命令

pip install --no-index --find-links=packages requests

--no-index选项表示不要检查PyPI。此处有一个坑,如果你下载下来的文件格式是tar.gz,那么运行此命令时会得到一个报错

  Installing build dependencies ... error  error: subprocess-exited-with-error  × pip subprocess to install build dependencies did not run successfully.exit code: 1  ╰─> [3 lines of output]      Looking in links: .      ERROR: Could not find a version that satisfies the requirement setuptools (from versions: none)      ERROR: No matching distribution found for setuptools      [end of output]  note: This error originates from a subprocess, and is likely not a problem with pip.error: subprocess-exited-with-error× pip subprocess to install build dependencies did not run successfully.exit code: 1╰─> See above for output.note: This error originates from a subprocess, and is likely not a problem with pip.

个人感觉这个错误是由于pip在安装依赖时不能正确构建源码所致,要解决这个问题只能在下载包时使用上面提到的pip wheel some-package命令,这个命令只会下载whl格式的包,安装时不会出现上述问题。

方法2:批量离线安装多个Python软件包

方法1适用于安装少量包的情况,如果要安装多个包,方法1使用起来就不太方便了。要批量安装多个包,首先在可以连接外网的电脑上使用pip安装所有所需的包,然后使用

pip freeze > requirements.txt

生成一个包括所有包的requirements.txt文件。使用

pip wheel -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

下载所有包。这里只推荐使用pip wheel命令来下载包,因为使用pip download命令下载多个包时不可避免的会下载到非whl格式的文件,后续安装时容易报错。不过pip wheel命令不能使用-d选项把下载的文件放在一个文件夹里,只能放置在当前文件夹下,所以建议提前新建一个文件夹来存放下载的包文件,requirements.txt文件与下载的文件在同一目录下即可。离线安装使用

pip install --no-index --find-links=. -r requirements.txt

即可批量安装所有软件包。

来源地址:https://blog.csdn.net/qq_44983130/article/details/126691928

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯