回到首页

python源码编译

Centos安装Python

			wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
			mkdir -p /usr/local/python3
			yum -y install tar gcc zlib* readline-devel make libffi-devel openssl-devel
			tar -zxvf Python-3.7.6.tgz
			cd Python-3.7.6
			./configure --prefix=/usr/local/python3
			make && make install
			ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
			ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
			ln -s /usr/local/python3/bin/python3.7 /usr/bin/python
			ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip
		

注意,ubuntu系统中需要安装好如下依赖,参考自python build from source: cannot build optional module sqlite3

sudo apt install build-essential zlib1g-dev libbz2-dev liblzma-dev libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev libgdbm-dev lzma lzma-dev

arch的依赖检查:tar gcc zlib readline make libffi openssl bzip2 xz ncurses sqlite gdbm

卸载

			rm -rf /usr/bin/python3
			rm /usr/bin/python3
			rm /usr/bin/pip3
		

安装python2.7.18、pip和tensorflow1.0+

			wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
			mkdir -p /usr/local/python2718
			tar -zxvf Python-2.7.18.tgz
			rm Python-2.7.18.tgz
			apt install openssl libssl-dev # 安装openssl库
			cd Python-2.7.18
			vi Modules/Setup.dist
			```取消四行代码的注释

			# Socket module helper for socket(2)
			_socket socketmodule.c timemodule.c

			# Socket module helper for SSL support; you must comment out the other
			# socket line above, and possibly edit the SSL variable:
			#SSL=/usr/local/ssl
			_ssl _ssl.c \
			        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
			        -L$(SSL)/lib -lssl -lcrypto
			``` # 解决pip安装第三方包时Can't connect to HTTPS URL because the SSL module is not available的报错
			./configure --prefix=/usr/local/python2718 --with-zlib=/usr/include --enable-unicode=ucs4 # 加with-zlib参数是因为python2718 setup.py install 安装setuptools时报运行时错误:Compression requires the (missing) zlib module。--enable-unicode=ucs4安装mu版本的python,mu版本的python支持pip安装tensorflow-gpu1.14.0
			make && make install
			ln -s /usr/local/python2718/bin/python2.7 /usr/bin/python2718
			cd ..
			wget https://files.pythonhosted.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz
			tar -xzvf pip-9.0.1.tar.gz
			rm pip-9.0.1.tar.gz
			wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.7.2.tar.gz
			tar -xzvf setuptools-0.7.2.tar.gz
			rm setuptools-0.7.2.tar.gz
			cd setuptools-0.7.2
			python2718 setup.py build
			python2718 setup.py install
			cd ../pip-9.0.1
			python2718 setup.py install
			ln -s /usr/local/python2718/bin/pip2.7 /usr/bin/pip2718
			pip2718 install tensorflow-gpu
		

参考链接:linux(centos)安装python
ubuntu 安装Python2.7 和对应的pip2
linux下Python错误Compression requires the (missing) zlib module的解决办法
ubuntu下使用pip3.6安装模块总是报ssl module in Python is not available的错误 python ucs-2与ucs-4编码方式判断

安装方法基本与之前总结的方法一致,因为两次安装python的包环境不一致,本文使用yum安装的包并不适用更高版本python的安装或有遗漏,执行python命令缺少依赖会报错

本文创建于2021年 07月 31日 星期六 00:12:07 CST,修改于2022.4.9/00.15