python3.X 使用pip 离线安装whl包

本文介绍了一种在断网环境下优雅地配置Python开发环境的方法,包括下载并更新pip,打包和离线安装所需Python包的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


0. 绪论

断网的环境下配置python开发环境非常讨厌,本文旨在优雅暴力的解决这一问题。

生产环境 :
windows 7 windows10
python 3.5.2
pip 1.5.2

友情提示:出现问题时候,看日志是王道!计算机不会犯错!

机器上python2,3混用的问题,参考:
http://blog.youkuaiyun.com/wangyaninglm/article/details/53312606
第二小节:不同版本python混用(官方用法)其实主要就是前面加上py -3(或)2

Windows离线断网环境下安装Python包,配置环境,准备用来生成word模版,需要用到一些win32com的python库,但是又没有网还想用pip方式傻瓜安装,怎么办呢,百度google探索了半天。姑且记录一下
linux下此方法应该同样可行。

当然还有暴力的方法是,pip show 包名,然后python的版本一样的话直接copy目录**(红线部分)**,import应该也是好使的。下面以numpy包为例。

这里写图片描述


1.安装过程

1.下载最新pip,更新pip版本

新建packages文件夹放在目录中:c:\python35\packages

py -3 –m pip install --upgrade pip

2.在可以联网的开发机器上安装好需要的包
例如:

py -3 –m pip install numpy
py -3 –m pip install pandas

3.打包已安装的包

在c:\python35目录下新建packages文件夹用来存储下载下来的所需安装包。
在 c:\python35\Scripts下启动cmd窗口。

pip list #查看安装的包
pip freeze >requirements.txt
py -3 –m pip install --download c:\python35\packages -r requirements.txt

上述命令需要在一个联网机器上运行,不然会报错,不联网的机器似乎没法打包已经安装好的whl包,如果有方法求高手告知,报错如下(白色字体是联网后运行正常的):
这里写图片描述

requirements.txt是这个样子:大概记载了每个包的版本号

cycler0.10.0
jieba
0.38
matplotlib1.5.3
nltk
3.2.1
numpy1.11.2
pyparsing
2.1.10
python-dateutil2.6.0
pytz
2016.10
scikit-learn0.18.1
six
1.10.0

4.离线情况安装其他机器打包好的包whl

将packages文件夹和requirement.txt拷贝至离线机器上目录下,
packages文件夹放在c:\Python35下,requirement.txt放在c:\Python35\Scripts下。
requirements.txt文件放在pip.exe目录下。

py -3 –m pip install --no-index --find-index=c:\python35\packages -r requirements.txt

上述命令中的–find-index 这个命令在python27中似乎是对的,python35中需要换成–find-links

这里写图片描述

正确的命令:

py -3 -m pip install --no-index --find-links=c:\python35\packages -r requirements.txt

2.原理

这里写图片描述

这种whl包下载好后,放在上述位置,再修改下面文件
这里写图片描述

添加一行:

包名=版本号

来一个命令就行了!装过的pip就不装了,没装的pip会自动安装

py -3 -m pip install --no-index --find-links=c:\python35\packages -r requirements.txt

这里写图片描述


参考

https://segmentfault.com/a/1190000006027207

pip常用命令:

  • http://me.iblogc.com/2015/01/01/pip%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/

pip documentation:

  • https://pip.pypa.io/en/latest/

whl 大全:

  • https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
### 如何在离线环境中使用 `pip` 安装 `.whl` 文件 为了在离线环境中成功安装 `.whl` 文件,需遵循特定流程来确保依赖项也得到妥善处理。 #### 准备工作 首先,在联网机器上获取所需的所有轮子文件及其依赖关系。这可以通过创建虚拟环境并记录已解决的依赖树实现: ```bash python -m venv temp_env source temp_env/bin/activate # Windows: temp_env\Scripts\activate.bat pip download package_name==version_number -d ./wheelhouse/ deactivate ``` 上述命令会下载指定版本的以及它的所有直接和间接依赖到当前目录下的 `./wheelhouse/` 文件夹中[^1]。 #### 转移至目标机 将整个 `wheelhouse` 文件夹复制到目标离线计算机上的适当位置。 #### 执行本地安装离线电脑上执行如下操作完成安装过程: ```bash python -m venv my_project_env source my_project_env/bin/activate # Windows: my_project_env\Scripts\activate.bat pip install --find-links=/path/to/wheelhouse/ package_name==version_number ``` 这里的关键在于使用 `--no-index` 参数告诉 `pip` 不要尝试访问 PyPI 或其他索引服务器,并通过 `--find-links` 明确指定了含预下载好的 `.whl` 文件的位置[^2]。 对于 TensorFlow 这样的大型库来说,如果想要简化离线部署的过程,则建议预先打好完整的依赖集合,并将其放置在一个可读取的存储介质内供后续调用。 另外需要注意的是,当涉及到像 CUDA 这样硬件加速相关的组件时,可能还需要额外设置环境变量以便正确加载共享库,比如修改 `$LD_LIBRARY_PATH` 来指向自定义路径下存放的相关动态链接库。 最后提醒一点,由于不同工具之间的版本差异可能导致兼容性问题,因此最好参照官方文档推荐的最佳实践组合来进行配置[^4]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shiter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值