本文主要阐述如何在centos7.2上搭建Python3的开发环境,目的是为了在Linux环境运行基于wxpy的Python程序。

一、安装Python3

CentOS7.2 自带有 python,但是却是 python2 版本的 python,Python2.7的版本(Python2.7会在2020年12月份停止维护)。所以现在开发Python的程序,都是推荐使用Python3来开发的。所以必须得给centos7.2装上python3,怎么装?

1.1、centos现在的Python装在哪里?

[root@VM_0_8_centos ~]# whereis python

[root@VM_0_8_centos ~]# cd /usr/bin/

[root@VM_0_8_centos bin]# ll python*

可以看到,python指向的是python2,python2指向的是python2.7,两个版本的python是共存的。

1.2、下载Python3解压并编译安装

因为 yum 源中并没有现成的 python3 程序,所以必须要自己手动编译安装。

1.2.1、先安装相关包,用于下载编译python3:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

1.2.2、安装pip

#运行这个命令添加epel扩展源

yum -y install epel-release

#安装pip

yum install python-pip

1.2.3、用pip装wget

pip install wget

1.2.4、用wget下载python3的源码包

Python3的下载地址:https://www.python.org/downloads/source/

右键,赋值包的下载地址,输入以下命令:

wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz

也可以去这里下载:https://www.python.org/ftp/python/

1.2.5、编译python3源码包

#解压

xz -d Python-3.7.3.tar.xz

tar -xf Python-3.7.3.tar

#进入解压后的目录

cd Python-3.7.3

#依次执行下面命令进行手动编译

./configure prefix=/usr/local/python3

make && make install

如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录。

笔者遇到的安装错误是:ModuleNotFoundError: No module named ‘_ctypes’

Python3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。解决办法:

#yum install libffi-devel -y

#make install

1.3、添加软链接

两个方案:

1.3.1、如果希望Python程序都使用Python3来运行,可以这样操作:

将原来的软链接“/usr/bin/python”指向“/usr/local/python3/bin/python3.7”,根据下方的命令操作即可:

#将原来的链接备份

mv /usr/bin/python /usr/bin/python.bak

#添加python3的软链接

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

#测试是否安装成功了

python -V

1.3.1.1、更改yum配置

因为yum是用Python2写的,所以需要把yum涉及的Python版本改为Python2,否则yum将不能正常使用。

vi /usr/bin/yum

把#! /usr/bin/python修改为#! /usr/bin/python2

vi /usr/libexec/urlgrabber-ext-down

把#! /usr/bin/python 修改为#! /usr/bin/python2

以上内容,参考了:https://blog.csdn.net/lovefengruoqing/article/details/79284573

1.3.2、建立一个Python3的软链接,

#添加python3的软链接

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

#测试是否安装成功了

python3 -V

建立软链接后,可以看到在“/usr/bin/” 下面多了python3

如果是在执行Python命令时,更习惯于Python3这样的来执行,在py文件头添加下面两行代码即可:

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

在交互命令环境下,则使用Python3来进入Python环境。

二、安装wxpy

2.1、使用pip安装

pip install wxpy

可以提前告诉你,这样直接安装wxpy,基于wxpy的Python3的代码运行时会报错!

为什么呢?这是因为Python3的目录下没有wxpy这个包,wxpy被安装到Python2.7的目录下了!

2.1.1、(推荐)指定安装到Python3.7的目录:

pip install --target=/usr/local/python3/lib/python3.7/site-packages wxpy

2.1.2、(推荐)你也可以通过下面命令,建立一个Python3.7下面pip的软链接,然后使用pip3来安装wxpy

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

#使用pip3来安装wxpy

pip3 install wxpy

2.1.3、你也可以修改pip的内容(其路径为:usr/bin/pip),其原始内容为:

#!/usr/bin/python2

# -*- coding: utf-8 -*-

import re

import sys

from pip._internal import main

if __name__ == '__main__':

sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])

sys.exit(main())

如果之前在安装完Python3之后,建立了“/usr/local/python3/bin/python3.7”的软链接为python3,则可以将首行代码改为:

#!/usr/bin/python3

如果之前在安装完Python3之后,将原来的软链接“/usr/bin/python”改成了Python3,则可以将首行代码改为:

#!/usr/bin/python

2.2、运行Python程序报错

在运行基于wxpy库的程序时,报错了!但是wxpy程序在Windows上跑的还好好的,所以肯定代码没问题!

2.2.1、缺少 requests 库

Python: ImportRequestsError: No module named 'requests'

这个问题比较坑,网上也找了很多方法。例如下面这种(运行程序时,还是提示这个错误)

wget https://bootstrap.pypa.io/get-pip.py

python get-pip.py

pip install requests

其实,Python的pip具有自动下载的功能,会将安装包自动放置到lib目录,只要是安装Python自己的库,都可以实现。

解决方案也很简单:

python -m pip install requests

安装完后,可以通过代码进行测试一下,进入Python环境,逐行输入以下代码:

import requests

r=requests.get("http://www.baidu.com")

r.encoding='utf-8'

r.text

2.3、后台运行,常驻内存

在centos后台运行python文件,用shell或终端执行命令ssh来运行python时,断开连接的时候程序也关闭了,这时候就需要:

#setsid python3 xxx.py

要进入到文件夹再运行。在进程中,程序会一直运行,是不受连接断开的影响的;

查看是否在进程中:

ps aux | grep .py

其中grep是搜索的意思,搜索含有.py的进程

如果要关闭这个进程

#kill -9 [PID]

-9 表示强迫进程立即停止

kill -9 7029

linux使用python wxpy报错_CentOS 7.2 安装 python3 + wxpy相关推荐

  1. 安装python3.6报错_CentOS 7下安装Python3.6 及遇到的问题小结

    先给大家介绍下CentOS 7下安装Python3.6 的方法 安装python3.6可能使用的依赖 yum install openssl-devel bzip2-devel expat-devel ...

  2. sublime编写python路径报错怎么改_MacOS-Sublime-Text3设置Python3编译环境

    Mac OS默认安装了2.7版本,所以在使用sublime编译Python3时需要添加编译环境 1.新增Python3.7编译环境 ①进入:Tools--Build System--New Build ...

  3. mysql命令行安装报错_centos命令行安装mysql随机密码查看方法(遇到问题及其解决办法)...

    mysql初次命令行安装登录时报错: 未输入密码:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwo ...

  4. 安装python37路径报错_解决pycharm安装python库报错问题

    最近在玩微信图灵机器人,不过我安装有一些库,安装报错,上网找了很久,总结有两种方法,记录一下 方法一: 手动安装,直接到官网你需要的python库下载到本地, 放在安装python路径,C:\User ...

  5. Linux笔记(2)——导入python库报错“libgomp.so.1: version `GOMP_4.0‘ not found“

    导入python库报错"libgomp.so.1: version `GOMP_4.0' not found" 问题描述 超算跑一个pytorch,出现如下错误 from torc ...

  6. python 等号报错_Python学习----Python基础

    Python基础 一.数据类型和变量 1.在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量. 例如: a =520# a是整数prin ...

  7. [故障解决]图文:python启动报错:api-ms-win-crt-runtime-l1-1-0.dll丢失解决

    python启动报错:api-ms-win-crt-runtime-l1-1-0.dll丢失解决 环境 Windows 7 SP1 x64 python3.6.1 报错 解决办法 1.下载VC red ...

  8. 【错误记录】执行 Python 程序报错 ( NameError: name ‘reload‘ is not defined )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Windows 的 cmd 命令行运行 python 脚本时 , 报如下错误 : 执行 python ApkTool.py -analyse - ...

  9. 【错误记录】PyCharm 运行 Python 程序报错 ( UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe5 in positio )

    文章目录 一.报错信息 二.解决方案 一.报错信息 PyCharm 运行 Python 程序报错 : D:\002_Project\011_Python\APK\venv\Scripts\python ...

最新文章

  1. 计数排序,基数排序,桶排序
  2. 6.Python补充_Python之道
  3. iphone 虚拟机Mac系统中VMware tools安装和vm共享文件夹的设置
  4. Knockout.Js案例一Introduction
  5. Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,
  6. [牛感悟系列]JAVA(1)理解JAVA垃圾回收
  7. python入门经典100例-Python3经典100例(Python3入门习题) 含答案 doc版
  8. Flash Memory(一)
  9. Python程序中的进程操作-进程同步(multiprocess.Lock)
  10. Activiti工作流引擎启动提示表不存在解决方案
  11. 能破解百度网盘提取码,云盘万能钥匙宣布关闭!
  12. 基于单片机的数字钟设计
  13. foxmail代理设置方法
  14. 准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F值(F-Measure)、AUC、ROC的理解
  15. 百度地图、高德地图的数据从哪里得到的?
  16. 虾米播播音乐墙html,虾米音乐外链,免费外链音乐,博客免费播放器
  17. java ctor_.ctor,.cctor 以及 对象的构造过程
  18. 理解套间(涉及进程、线程、COM线程模型)(转载)
  19. 从安装过程品国产Linux操作系统的技术来源与异同之处
  20. Java-生成动态图片验证码

热门文章

  1. 第一次接触实际的项目
  2. 使用戴德金分割法从有理数域构造实数域(上)
  3. 2021现代软件工程考试复习指南
  4. No6-3.从零搭建spring-cloud-alibaba微服务框架,实现资源端用户认证与授权等(三,no6-3)
  5. lingo基础入门Day 1——lingo建模与线性规划、最优解总结
  6. 新手学Python有什么好方法?如何学好Python?
  7. beaglebone black(AM3358)使用SD卡启动系统
  8. office 2016
  9. 连接远程应用服务器appserver出错,Windows Server 2008 RemoteApp(一)---部署远程桌面服务器...
  10. 渣渣白教你使用工具Safe3 SQL注入安全检测工具