linux打包运行python文件_Linux下安装pyinstaller用于将py文件打包生成一个可执行文件...

安装使用流程

1. 首先给系统装个easy_install, 如果装了的可以跳过这步

到pypi官方网址 https://pypi.python.org/pypi/setuptools 去download最新版本

2. 官网上下载pyinstaller,当前的最新版本是2.1

(1) 网址 http://www.pyinstaller.org/

https://github.com/pyinstaller/pyinstaller/wiki

3.解包进入源码目录

(1)tar -zxvf pyinstaller_2.1.tar.gz

(2)cd pyinstaller-2.1 运行 python setup.py install

4. 拷贝py文件

将需打包的py文件如test.py 拷贝到当前目录

5. 生成可执行文件

python pyinstaller_path/pyinstaller.py   yourscript.py

命令完成后会在当前目录生成一个yourscript目录,里面有build目录,dist目录。dist目录里面还有一个yourscript目录,这个里面就是生成的可直接运行的程序和一些依赖的包了。

如果只想生成一个单一文件,就加上-F选项。

pyinstaller_path/pyinstaller.py  -F   yourscript.py

同样在dist目录下面会生成一个单一的可执行文件。

可能遇到的问题

1. 用户权限

直接在root用户下运行pyinstaller会报错 “cannot run pyinstaller as user root"...

所以需新增另外一个用户,并给用户对pyinstaller所在的目录及所有父目录添加读写权限,避免运行后报‘mkdir’ permission denied...

超级用户可以创建新的用户账号,下面的命令将建立一个名为joe的新用户:

# adduser joe

# passwd joe (键入joe的口令)

切换用户

su  普通用户名

把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。

$ chown –R wang.users /his

2. 找不到python lib动态库

su切换到新增用户后,

pyinstaller报错找不到python动态库

raise IOError("Python library not found!")

IOError: Python library not

执行python --version查看当前版本,并查找/usr/local/lib 下有没有对应版本的libpython*.*.so文件,

如果有则跳过这步,如果没有则需要重新安装python,在python安装配置中一定要加上--enable-shared参数就可以生成对应动态链接库,如:

#./configure --enable-shared --prefix=/usr/local

#make

#make install

我环境中更新过python版本,导致/usr/lib下不是最新版本的库文件,需要将新版本拷贝到对应的/usr/lib目录下,注意有两个文件:

#cp libpython*.so /usr/lib/

#ln -s /usr/lib/libpython*.so.1.0 /usr/lib/libpython*.so

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值