时间:2021-05-22
场景:由于自己的电脑A性能不足,需要转移到一台高性能的主机B上运行python程序,但是该主机不能连接互联网。
问题:在个人电脑A上建立了一个虚拟环境,安装了依赖包并且调试程序使其能运行。但是将虚拟环境所在文件夹复制粘贴到主机B上时,无法运行。
环境:Windows、Python3.6
解决办法:
1.主机A(虚拟环境激活)pip freeze >requirements.txt 将虚拟环境中安装的Python依赖包记录到文件requirements.txt中。
2.主机A(虚拟环境激活)pip download -r requirements.txt -d packages 将安装的Python依赖包保存到packages目录下。
3.主机B 在断网的主机上安装好python3.6
4.主机B 在项目下建立虚拟环境,并激活。同时将whls文件夹和requirements.txt复制粘贴到项目目录下。
5.主机B(虚拟环境激活)pip install --no-index --find-links=packages -r requirements.txt 在主机B的虚拟环境中安装requirements.txt里的依赖包。
补充知识:python项目导出所需要的依赖库或者整个环境的库
使用pip freeze
pip freeze > requirements.txt
这个命令安装了环境中的所有第三方包,一般在虚拟环境中可以这样使用比较方便。
安装命令
pip install -r requirements.txt
使用 pipreqs
如果想要在正常的环境下整理出一个项目所使用的第三方库可以使用pipreqs
第一步安装
pip install pipreqs
使用也很简单 pipreqs 路径名
此处直接进到项目根目录,所以是./
pipreqs ./
这样直接可以生成项目中所以用的第三方库。
如果报错
File "c:\users\devtao\appdata\local\programs\python\python36-32\lib\site-packages\pipreqs\pipreqs.py", line 341, in init
extra_ignore_dirs=extra_ignore_dirs)
File "c:\users\devtao\appdata\local\programs\python\python36-32\lib\site-packages\pipreqs\pipreqs.py", line 75, in get_all_imports
contents = f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 186: illegal multibyte sequence
可以在安装的pipreqs.py中修改 74行左右的encoding=‘utf-8'
以上这篇Python依赖包迁移到断网环境操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
安装librtmp包需要依赖环境较多,机器上已经安装了python2.7版本,安装librtmp包之前需要先安装依赖环境。1、安装gcc和依赖包yuminsta
最近尝试把项目迁移到Python环境下,特别新装了一台干净的Debian系统,准备重新配置环境,上网找了一些运行PythonWeb的环境方案,最后敲定Nginx
最近将Pytorch程序迁移到GPU上去的一些工作和思考环境:Ubuntu16.04.3Python版本:3.5.2Pytorch版本:0.4.00.序言大家知
想要将本地的Exchange迁移到Office365的话,如果选择直接将邮箱迁移到Office365,以后不再用本地的Exchaneg环境的话,那么根本Exch
Python的虚拟环境用来创建一个相对独立的执行环境,尤其是一些依赖的三方包,最常见的如不同项目依赖同一个但是不同版本的三方包,而且,在虚拟环境中的安装包不会影