centos安装python26
A. 如何在CentOS6上安装python2.7和Python3.3
CentOS 6自带了Python 2.6.6(CentOS 7则自带了Python 2.7)和一些非常好用的功能,如yum。但是,注意不要随便升级自带的Python以免yum不可用。 新版本将安装在/usr/local目录下以避免和自带的版本冲突。
虽然“我”只在64位的CentOS 6.5进行了尝试,但该教程应该适用于所有的CentOS 6版本(本人按此教程在CentOS 7上亦成功安装Python3.4)。
下面的示例命令您最好以root身份运行或者在命令前加sudo赋予权限。但注意,若不是以root身份执行的话,make 与make install最好分开执行,并且都在前面加sudo,连着写,如sudo make && make install的话会在make install过程中报权限不足问题,因为sudo不作用于&&后面的make install。
安装前准备
编译Python之前您最好先安装一系列的开发工具和一些拓展库,虽然不是必须的,但这样Python才能依赖这些工具和拓展库展示它强悍的功能。下面是利用yum进行工具和拓展库安装的示例命令,直接执行即可(注意部分命令显示不全,但可以通过移动光标查看和复制)。
yumgroupinstall"Development tools"
yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel
该考虑的因素
在您编译和安装Python之前,有些东西您是应该知道或考虑的。如下。
Unicode编码
Python编码问题历史悠久,但不用过多关注,知道它目前支持Unicode编码即可(Python3中默认的)。考虑到兼容性等原因,除非有特殊的理由,您最好配置下Python 3.2和更早的版本,使其支持UTF-32编码,虽然会增加小小的内存代价。在Python 2.7中您可以通过在configure时添加选项--enable-unicode=ucs4 进行配置,而在Python 3.2中是--with-wide-unicode选项。
Shared library(动态共享库)
目前大部分的linux系统自带的Python都是以共享库的方式编译的, 此外,某些第三方工具例如mod_wsgi和Blender,没有Python的共享库还运行不了,所以,您最好还是把Python编译成动态共享库吧。为了以共享库方式编译Python,您必须指明共享库的路径。您有两种选择:
在configure命令后面添加:LDFLAGS="-Wl,-rpath /usr/local/lib"从而将库路径直接编译进Python中。
以记事本方式打开 /etc/ld.so.conf ,然后在文件最后添加新行:/usr/local/lib 。紧接着运行命令 /sbin/ldconfig 更新动态链接器。 添加后的文件内容在CentOS 6.5 如下:
/etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
使用 “make altinstall” 而不是make install
切记,在安装自定义版本的Python时,make altinstall命令是必须的!如果您使用一般的 make install命令,呵呵,您将会在解压编译的目录下看到两个命名一样但版本不同的python,这有可能会导致一些意想不到的bug哦,具体是什么作者没说,我也不知道。
下载,编译,安装Python
如下命令可用于下载、编译和安装Python。注意,如果您打算安装后手动修改/etc/ld.so.conf文件以更新动态链接器,那么下面的 LDFLAGS 参数您就可以去掉了。
# Python 2.7.6:
wgethttp://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tarxfPython-2.7.6.tar.xz
cdPython-2.7.6
./configure--prefix=/usr/local--enable-unicode=ucs4--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
# Python 3.3.5:
wgethttp://python.org/ftp/python/3.3.5/Python-3.3.5.tar.xz
tarxfPython-3.3.5.tar.xz
cdPython-3.3.5
./configure--prefix=/usr/local--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
执行上述命令之后,您可以在/usr/local/bin/python2.7或 /usr/local/bin/python3.3中找到新安装的Python。而Python 2.6.6则可能在/usr/bin/python, /usr/bin/python2或 /usr/bin/python2.6找到。
下载和安装Setuptools + pip
Setuptools早已取代 Distribute成为Python官方的拓展包管理器,以用于从Python Package Index安装拓展功能包。 不同版本的Python需要的Setuptools版本不同。建议您也通过Setuptools安装 pip,它提供了一些额外在安装拓展功能包时很有用的功能。
以下的命令可用于安装最新版Setuptools 和 pip。
# First get the setup script for Setuptools:
wgethttps://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
# Then install it for Python 2.7 and/or Python 3.3:
python2.7ez_setup.py
python3.3ez_setup.py
# Now install pip using the newly installed setuptools:
easy_install-2.7pip
easy_install-3.3pip
# With pip installed you can now do things like this:
pip2.7install[packagename]
pip2.7install--upgrade[packagename]
pip2.7uninstall[packagename]
安装的拓展功能包在/usr/local/lib/pythonX.Y/site-packages/中可以找到(X.Y是Python的版本号)。
接下来干嘛?
如果您使用 Python 2.7,强烈建议您安装virtualenv并学会使用它,它可用于创建独立的 Python 环境。如果您使用 Python 3.3的话就可以省心些,它已被内置了。
不同的 Python 运行环境(也叫沙盒) 可以有自己的 Python 版本和拓展功能包,就是说不同的Python安装和运行的目录不同,也可以为每个版本的Python安装对应的名称一样但版本不同的拓展包。 这在开发多个功能不同的项目或在同一个项目中需要用到不同版本的Python是会很有用的。
创建您第一个独立的Python环境
# Install virtualenv for Python 2.7 and create a sandbox called my27project:
pip2.7installvirtualenv
virtualenv-2.7my27project
# Use the built-in pyvenv program in Python 3.3 to create a sandbox called my33project:
pyvenv-3.3my33project
# Check the system Python interpreter version:
python--version
# This will show Python 2.6.6
# Activate the my27project sandbox and check the version of the default Python interpreter in it:
sourcemy27project/bin/activate
python--version
# This will show Python 2.7.6
deactivate
# Activate the my33project sandbox and check the version of the default Python interpreter in it:
sourcemy33project/bin/activate
python--version
# This will show Python 3.3.5
deactivateCentOS 6自带了Python 2.6.6(CentOS 7则自带了Python 2.7)和一些非常好用的功能,如yum。但是,注意不要随便升级自带的Python以免yum不可用。 新版本将安装在/usr/local目录下以避免和自带的版本冲突。
虽然“我”只在64位的CentOS 6.5进行了尝试,但该教程应该适用于所有的CentOS 6版本(本人按此教程在CentOS 7上亦成功安装Python3.4)。
下面的示例命令您最好以root身份运行或者在命令前加sudo赋予权限。但注意,若不是以root身份执行的话,make 与make install最好分开执行,并且都在前面加sudo,连着写,如sudo make && make install的话会在make install过程中报权限不足问题,因为sudo不作用于&&后面的make install。
安装前准备
编译Python之前您最好先安装一系列的开发工具和一些拓展库,虽然不是必须的,但这样Python才能依赖这些工具和拓展库展示它强悍的功能。下面是利用yum进行工具和拓展库安装的示例命令,直接执行即可(注意部分命令显示不全,但可以通过移动光标查看和复制)。
yumgroupinstall"Development tools"
yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel
该考虑的因素
在您编译和安装Python之前,有些东西您是应该知道或考虑的。如下。
Unicode编码
Python编码问题历史悠久,但不用过多关注,知道它目前支持Unicode编码即可(Python3中默认的)。考虑到兼容性等原因,除非有特殊的理由,您最好配置下Python 3.2和更早的版本,使其支持UTF-32编码,虽然会增加小小的内存代价。在Python 2.7中您可以通过在configure时添加选项--enable-unicode=ucs4 进行配置,而在Python 3.2中是--with-wide-unicode选项。
Shared library(动态共享库)
目前大部分的Linux系统自带的Python都是以共享库的方式编译的, 此外,某些第三方工具例如mod_wsgi和Blender,没有Python的共享库还运行不了,所以,您最好还是把Python编译成动态共享库吧。为了以共享库方式编译Python,您必须指明共享库的路径。您有两种选择:
在configure命令后面添加:LDFLAGS="-Wl,-rpath /usr/local/lib"从而将库路径直接编译进Python中。
以记事本方式打开 /etc/ld.so.conf ,然后在文件最后添加新行:/usr/local/lib 。紧接着运行命令 /sbin/ldconfig 更新动态链接器。 添加后的文件内容在CentOS 6.5 如下:
/etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
使用 “make altinstall” 而不是make install
切记,在安装自定义版本的Python时,make altinstall命令是必须的!如果您使用一般的 make install命令,呵呵,您将会在解压编译的目录下看到两个命名一样但版本不同的python,这有可能会导致一些意想不到的bug哦,具体是什么作者没说,我也不知道。
下载,编译,安装Python
如下命令可用于下载、编译和安装Python。注意,如果您打算安装后手动修改/etc/ld.so.conf文件以更新动态链接器,那么下面的 LDFLAGS 参数您就可以去掉了。
# Python 2.7.6:
wgethttp://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tarxfPython-2.7.6.tar.xz
cdPython-2.7.6
./configure--prefix=/usr/local--enable-unicode=ucs4--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
# Python 3.3.5:
wgethttp://python.org/ftp/python/3.3.5/Python-3.3.5.tar.xz
tarxfPython-3.3.5.tar.xz
cdPython-3.3.5
./configure--prefix=/usr/local--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
执行上述命令之后,您可以在/usr/local/bin/python2.7或 /usr/local/bin/python3.3中找到新安装的Python。而Python 2.6.6则可能在/usr/bin/python, /usr/bin/python2或 /usr/bin/python2.6找到。
下载和安装Setuptools + pip
Setuptools早已取代 Distribute成为Python官方的拓展包管理器,以用于从Python Package Index安装拓展功能包。 不同版本的Python需要的Setuptools版本不同。建议您也通过Setuptools安装 pip,它提供了一些额外在安装拓展功能包时很有用的功能。
以下的命令可用于安装最新版Setuptools 和 pip。
# First get the setup script for Setuptools:
wgethttps://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
# Then install it for Python 2.7 and/or Python 3.3:
python2.7ez_setup.py
python3.3ez_setup.py
# Now install pip using the newly installed setuptools:
easy_install-2.7pip
easy_install-3.3pip
# With pip installed you can now do things like this:
pip2.7install[packagename]
pip2.7install--upgrade[packagename]
pip2.7uninstall[packagename]
安装的拓展功能包在/usr/local/lib/pythonX.Y/site-packages/中可以找到(X.Y是Python的版本号)。
接下来干嘛?
如果您使用 Python 2.7,强烈建议您安装virtualenv并学会使用它,它可用于创建独立的 Python 环境。如果您使用 Python 3.3的话就可以省心些,它已被内置了。
不同的 Python 运行环境(也叫沙盒) 可以有自己的 Python 版本和拓展功能包,就是说不同的Python安装和运行的目录不同,也可以为每个版本的Python安装对应的名称一样但版本不同的拓展包。 这在开发多个功能不同的项目或在同一个项目中需要用到不同版本的Python是会很有用的。
创建您第一个独立的Python环境
# Install virtualenv for Python 2.7 and create a sandbox called my27project:
pip2.7installvirtualenv
virtualenv-2.7my27project
# Use the built-in pyvenv program in Python 3.3 to create a sandbox called my33project:
pyvenv-3.3my33project
# Check the system Python interpreter version:
python--version
# This will show Python 2.6.6
# Activate the my27project sandbox and check the version of the default Python interpreter in it:
sourcemy27project/bin/activate
python--version
# This will show Python 2.7.6
deactivate
# Activate the my33project sandbox and check the version of the default Python interpreter in it:
sourcemy33project/bin/activate
python--version
# This will show Python 3.3.5
deactivate
B. 在CentOS 8上安装Python
在CentOS 8上安装Python 3
要在CentOS 8上安装Python 3,请以root或sudo用户身份在终端中运行以下命令:
$ sudo dnf install python3
要验证安装,请输入以下命令检查Python版本:
$ python3 --version
参考: 在Linux系统中检查Python版本(Python Version)的方法 。
在选写本文时,CentOS存储库中可用的Python 3的最新版本是“3.6.x”:
Python 3.6.8
注:该命令还会安装pip。
要运行Python,你需要明确输入python3并运行pip输入pip3。
你应该始终喜欢使用yum或dnf安装发行版提供的python模块,因为它们受支持并经过测试可以在CentOS 8上正常工作,仅在虚拟环境中使用pip,Python虚拟环境允许你将Python模块安装在特定项目的隔离位置,而不必全局安装,这样,你不必担心会影响其他Python项目。
Python 3模块软件包的名称以“python3”为前缀,例如,要安装paramiko模块,应运行:
$ sudo dnf install python3-paramiko
在CentOS 8上安装Python 2
Python 2软件包也包含在默认的CentOS 8存储库中。
要安装Python 2,请输入以下命令:
$ sudo dnf install python2
通过键入以下命令验证安装:
$ python2 --version
输出应如下所示内容:
Python 2.7.15
要执行Python 2,请输入python2,然后运行pip并输入pip2。
设置默认Python版本(Unversioned Python命令)
如果你有希望在系统路径中找到python命令的应用程序,则需要创建unversioned python命令并设置默认版本。
要将Python 3设置为系统范围内的非版本化python命令,请使用Alternatives实用程序:
$ sudo alternatives --set python /usr/bin/python3
对于Python 2,输入:
$ sudo alternatives --set python /usr/bin/python2
Alternatives命令创建一个指向指定python版本的symlink python。
在终端中键入python --version,你应该看到默认的Python版本。
要更改默认版本,请使用上面的命令之一,如果要删除未版本控制的python命令,请输入:
$ sudo alternatives --auto python
结论
在CentOS 8操作系统中,默认情况下未安装Python,如果有需要,按照以上方法操作即可。
如果做一个总结的话,那就是:要安装Python 3,请键入dnf install python3,如果是安装python 2,请键入dnf install python2
参考: https://ywnz.com/linuxjc/6033.html
C. Centos7.9安装python3.10
先升级openssl
上面可以看出没有安装,所以必须安装gcc
查看上面的安装
安装完毕检查下是否安装成功:gcc --version
安装如下依赖包,复制在xshell上面,shift +insert 粘贴并回车
sudo tar -zxvf Python-3.10.4.tgz 解压在当前softwarebak目录
如果是老手,可以直接跳到下面这一处 修改 vim /tmp/softwarebak/Python-3.10.4/Moles/Setup ,然后在回到下一步继续。
安装完python后,切换到安装的bin目录
1):在Python3.7之后的版本,依赖的openssl,必须要是1.1或者1.0.2之后的版本,或者安装了2.6.4之后的libressl,linux自带的openssl版本过低。
2):在编译之后修改Moles/Setup文件中的部分内容,打开ssl,或者在编译的时候指定–with-ssl参数(我使用的是前面的方式,后一种方式的真实性有待考究)
修改 vim /tmp/softwarebak/Python-3.10.4/Moles/Setup
shift+g 跳转到末尾 然后在末尾粘贴如下内容,wq保存退出
或者如下,最好是有用上面那种粘贴,我是没出错的。
接着如下操作
升级pip3
注意是使用“pip3”去升级。
升级pip过后目录会多出来一个pip,也可以做一下软链接也可以不用。我虚拟机/usr/bin下面并没有pip,上面我软链接了一个pip3以后就用这个.
设置pip源
第一种:一般用户
第2种:全局可使用 /etc/pip.conf
install_openssl.sh
参考文献
https://cloud.tencent.com/developer/article/1754597
https://blog.csdn.net/qq_41580613/article/details/119382214
D. 如何在centos安装python
更新python千万不要把老版本的删除!新老版本是可以共存的,很多基本的命令、软件包都要依赖预装的老版本python的,比如yum。
[root@localhost ~]# wget Python-2.7.11.tgz
[root@localhost ~]# tar -zxvf Python-2.7.11.tgz
[root@localhost ~]# cd Python-2.7.11
[root@localhost ~]# make
[root@localhost ~]# make install //默认安装到 /usr/local/lib/python2.7下
[root@localhost ~]# python -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())"
/usr/local/lib/python2.7/site-packages
[root@localhost ~]# mv /usr/bin/python /usr/bin/python_old //修改旧的python版本为python_old
[root@localhost ~]# ln -s /usr/local/bin/python2.7 /usr/bin/python //建立软连接指向到当前系统默认python命令的bin目录,让系统使用新版本python
补充:默认的python成功指向3.3.0以后,yum不能正常使用,需要修改yum的配置文件。
E. 如何在centos中安装pythonscapy
在CentOs6.5下安装Python2.7.6和Scrapy
总在网上看大家的安装教程,这回自己也贡献一份!!!
和民航大学合作项目,去给人家装环境,连简单的Scrapy都没装上,虽然有对方硬件设施坑爹的因素,但主要还是自己准备不充分。
一份好的安装文档应该是可以完美重现的。
所以做了下面这份:
我按照这套方法连着重装了四次,如果各位直接复制命令,应该是一点问题都没有。安装成功的样子见那两张截图。
对了,确保电脑能上网,鼠标能用,哈哈
1.#su – root
2.#yum install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel libffi-devel libxslt-devel libxml2-devel sqlite-devel
3.#cd /usr
4.安装Python
#wget python/2.7.6/Python-2.7.6.tar.xz
#xz -d Python-2.7.6.tar.xz
#tar xvf Python-2.7.6.tar
#cd Python-2.7.6
#./configure
#vim Moles/Setup
找到下面这句,去掉注释
#zlib zlibmole.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
编译安装:make & make install
5.修改Python链接
#/usr/local/bin/python2.7 -V
#mv /usr/bin/python /usr/bin/python.bak
# ln -s /usr/local/bin/python2.7 /usr/bin/python
6.#vim /usr/bin/yum
在打开的文件里的头一行,也就是指定python环境的那行代码,修改成:
#!/usr/bin/python2.6
7.#wget --no-check-certificate
#python ez_setup.py
8.#wget --no-check-certificate
#python get-pip.py
9.#pip install scrapy
10.#scrapy
11.建立测试脚本
12.# cat > myspider.py <<EOF
from scrapy import Spider, Item, Field
class Post(Item):
title = Field()
class BlogSpider(Spider):
name, start_urls = 'blogspider', ['wsblog/']
def parse(self, response):
return [Post(title=e.extract()) for e in response.css("h2 a::text")]
EOF
13.试建工程
scrapy startproject tutorial
F. 如何在centos安装python
centos一般自带了python2.7,如果你想安装python3的话,可以按照以下步骤安装,以python3.6.2为例:
1. 安装Python依赖包:
#yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
2. 下载Python源码包:
#cd /usr/local/src
#wget
3. 编译、安装:
[root@Python /]# tar -xzvf /usr/local/src/Python-3.6.2.tgz -C /usr/local/src/
[root@Python /]# cd /usr/local/src/Python-3.6.2
[root@Python Python-3.6.2]# ./configure --prefix=/usr/local/python --enable-shared
[root@Python Python-3.6.2]# make
[root@Python Python-3.6.2]# make install
4. 如果在安装Python时使用了--enable-share命令后启动时会出错误:
ImportError:libpython3.6m.so.1.0:cannot open shared object file: No such file or directory
解决办法是在运行configure和make之前运行:
export LD_LIBRARY_PATH={prefix}/lib/
{prefix} is what you passed to --prefix.
例如:#export LD_LIBRARY_PATH=/usr/local/python/lib/
#vim ~/.bash_profile
添加一行:
export LD_LIBRARY_PATH=/usr/local/python/lib:$LD_LIBRARY_PATH
5. 添加Python命令到环境变量:
[root@Python /]# vim ~/.bash_profile
PATH=$PATH:$HOME/bin
改为:
PATH=$PATH:$HOME/bin:/usr/local/python/bin
6. 使环境变量生效:
[root@Python /]# source ~/.bash_profile
7. 查看Python版本:
[root@Python /]# python3 -V
Python 3.6.2
8. 更改系统默认python版本为Python3.6
[root@Python /]# mv /usr/bin/python /usr/bin/python2.7.5
[root@Python /]# ln -s /usr/local/python/bin/python3.6 /usr/bin/python
9. 核对Python版本:
[root@Python /]# python -V
Python 3.6.2
10. 解决python升级后,YUM不能正常工作的问题:
#vi /usr/bin/yum
将文件头部的#!/usr/bin/python
改成 #!/usr/bin/python2.7