在centos7下安装python及pyinstaller

出于一些使用上的需求,我必须在linux环境下编译打包python文件,这里用的是通用的pyinstaller。

(以下命令默认以管理员身份运行,如果安装中遇到权限问题,请切换管理员身份或者在命令前加上sudo)

首先,我是从python官网下载的https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz

python包。

将python包放到linux环境中后,执行命令:

tar -zxvf Python-3.7.2.tgz

解压文件。

之后先执行一下这条命令,防止使用python的过程中出错:

yum install libffi-devel -y

如果不执行此条命令,安装libffi-devel的话,在使用过程中会遇上“ModuleNotFoundError: No module named ‘_ctypes‘”的错误。

之后,cd进入python文件夹,执行以下命令:

mkdir -p /usr/local/python3
./configure --prefix=/usr/local/python3
make && make install

等这三条命令执行完后,再执行以下命令:

ln -s /usr/local/python3/bin/python3.7 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

/usr/local/bin目录是给用户放置自己的可执行程序的地方,我们设置了软连接之后,就在系统中的任意地方使用python3 和 pip3 这两个命令。

之所以设置成python3,是因为centos7自带了python2,我们这里是为了区分开两个程序。

之后,执行:

pip3 install pyinstaller

安装pyinstaller。如果遇上问题,请先按照提示线更新升级pip3的版本,再执行一下本命令。

再执行:

ln -s /usr/local/python3/bin/pyinstaller  /usr/local/bin/pyinstaller

之后,随便编译打包一个程序,如果成功,则成功,如果失败,则可参考以下情况:

错误提示一:打包失败,并提示:

* On Debian/Ubuntu, you would need to install Python development packages
* apt-get install python3-dev
* apt-get install python-dev
* If you're building Python by yourself, please rebuild your Python with `--enable-shared` (or, `--enable-framework` on Darwin)

这种时候,请重新编译安装一下python,按照提示添加参数 --enable-shared

./configure --prefix=/usr/local/python3 --enable-shared
make && make install

二:打包失败,并提示:

/usr/local/python3/bin/python3.7: error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory

这种时候,请这样操作:

cd  /etc/ld.so.conf.d
vim python3.conf

在编辑页面添加: usr/local/python3/lib,然后退出保存就可以了。

此处添加的内容为库文件所在的位置。如果你cd到这个位置,可以看见libpython3.7之类的文件。

此处是为了添加动态库。

之后,再执行ldconfig, 就可以了。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值