pyenv下python依赖的路径和打包项目

本文详细介绍了两种Python项目依赖打包的方法:使用pyinstaller工具一键打包和手动查找并复制依赖库。探讨了如何判断依赖是否为纯Python文件及如何确保项目在不同环境中顺利运行。

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

写在前面:要保证任何python环境都能运行项目,需求就是把该项目的所有依赖都提取出来。现在有两种方法。

1. 使用工具

一个很好用的打包工具:pyinstaller

1.1 直接pip install pyinstaller
12031442-7beaf828fb409840.png
1.2 用法:

很简单,cd到目标项目的.py目录下,运行pyinstaller -F file.py -F:表示只生成一个可执行文件,如果不加则会在dist文件夹下生成很多文件和一个可执行文件。

cd slurm_export/src
pyinstaller -F export.py 

successfully之后,当前目录下会生成两个文件夹,一个dist,一个build,我们所需要的文件在dist里面。
直接运行就可以了

./export

为啥不用这个方法呢,因为在python的包中,有的完全是python的,而有的并不是纯python的,那么接下来介绍方法二,如何安全的提取打包。

2. 简单粗暴的找到路径,复制下来放入项目中

2.1 那么路径在哪呢?

我是从pycharm中找到了蛛丝马迹

12031442-1c85a9f9258842e2.png

然而当你进入bin目录下时,你会发现毛都没有,根本没有python的文件夹,所以路径根本不在这。
那么会在哪呢,大家可能会想到 /lib这个目录,这里存放着系统最基本的动态链接共享库,其作用类似于Windows里的. dll文件。几乎所有的应用程序都须要用到这些共享库。

12031442-420fb91db1309193.png

果然,这里有很多我们需要的安装包,但是,你会发现怎么不全?怎么有的有,有的没有?因为这里面放的都是python官方的库,我们自己安装的库并不在这,而是在 site-packages

cd site-packages
12031442-9eaf32b99751e3f9.png

现在全都找到了,如果你可以打开.py文件,那么路径更好找,直接cd过去就ok了:


12031442-28f9a4ffdd914e03.png

回到之前我们的疑问:怎么判断安装包是不是纯python的呢?

find file_name/
12031442-fb526d607feace3e.png

这里面的.so文件就不是python的文件,.py/.pyc是。所以这种包无法打包,只能到目标环境下手动安装。
找到我们需要的包,cp出去放到sys.path可以找到的路径下就可以了(放到你要run的那个文件夹里),结果如下:

12031442-6fa83bb7604e6550.png

3. 检测

重新创建一个虚拟环境,运行下export.py查看能否正常运行就ok了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值