服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux搭建python环境详解

Linux搭建python环境详解

2021-12-14 16:50阳光温暖了心情 Linux

本篇文章主要介绍了Linux搭建python环境详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

一、下载文件

python官网:https://www.python.org/downloads/    

版本:python-2.7.3 

setuptools官网:https://pypi.python.org/pypi/setuptools#downloads  

版本:setuptools-0.6c11

pip官网:https://pypi.python.org/pypi/pip#downloads

版本:pip-1.5.6.tar.gz

pymongo官网:https://pypi.python.org/pypi/pymongo#downloads

版本:pymongo-2.7.2.tar.gz

xlrd官网:https://pypi.python.org/pypi/xlrd

版本:xlrd-0.9.3.tar.gz

xlwt官网:https://pypi.python.org/pypi/xlwt

版本:xlwt-0.7.5.tar.gz

xlutils官网:https://pypi.python.org/pypi/xlutils

版本:xlutils-1.7.1.tar.gz

cx_Oracle官网:https://pypi.python.org/pypi/cx_Oracle/5.1.3

版本:cx_Oracle-5.1.3.tar.gz

二、安装Python2.7.3

1、查看系统自带的python版本

?
1
[root@vm4 webapps]# python -V

Python 2.6.6 

2、解压安装python

?
1
2
3
4
5
[root@vm4 logs]#cd /usr
 
[root@vm4 usr]# mkdir -p python
 
[root@vm4 usr]# cd python/

将下载的文件Python-2.7.3.tgz上传至python文件夹内

?
1
2
3
4
5
6
7
8
9
[root@vm4 python]#tar -zvxf Python-2.7.3.tgz
 
[root@vm4 python]# cd Python-2.7.3
 
[root@vm4 Python-2.7.3]# ./configure --prefix=/usr/local/python2.7.3
 
[root@vm4 Python-2.7.3]# make
 
[root@vm4 Python-2.7.3]# make install

3、安装成功后目录

?
1
[root@vm4 Python-2.7.3]# ll /usr/local/python2.7.3/

总计 16

?
1
2
3
4
5
6
7
drwxr-xr-x 2 root root 4096 03-21 10:12 bin
 
drwxr-xr-x 3 root root 4096 03-21 10:07 include
 
drwxr-xr-x 4 root root 4096 03-21 10:07 lib
 
drwxr-xr-x 3 root root 4096 03-21 10:07 share

4、建立软件链接

?
1
2
3
4
5
6
7
[root@vm4 Python-2.7.3]# ln -s /usr/local/Python-2.7.3/bin/python /usr/bin/python2.7.3
 
[root@vm4 Python-2.7.3]# python2.7.3
 
Python 2.7.3 (default, Mar 21 2013, 10:06:48)
 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2

注意:

如果执行操作[root@vm4 Python-2.7.3]#ln -s /usr/python/Python-2.7.3/bin/python /usr/bin/python
修改老版本的ln指向后,可能会影响yum的使用,yum兼容Python2.6版本。

操作到这里,python就安装成功了.

三、安装python-devel

?
1
[root@vm4 python]# yum install python-devel

Installed:

python-devel.x86_64 0:2.6.6-52.el6

Dependency Updated:

python.x86_64 0:2.6.6-52.el6 python-

libs.x86_64 0:2.6.6-52.el6

Complete!

注意:由于python-devel问题,建议python使用默认的版本2.6.6。上面只是介绍如何安装python。

四、安装setuptools

注意:安装成功python之后,才能安装setuptools

1、将下载的文件上传setuptools-0.6c11.tar.gz至python文件夹内

2、解压安装setuptools-0.6c11

?
1
2
3
[root@vm4 python]# tar -zxvf setuptools-0.6c11.tar.gz
[root@vm4 setuptools-0.6c11]# cd setuptools-0.6c11
[root@vm4 setuptools-0.6c11]# Python-2.7.3 setup.py install

返回如下表示安装成功:

Installed /usr/python/Python-2.7.3/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg

Processing dependencies for setuptools==0.6c11

Finished processing dependencies for setuptools==0.6c11

3、建立软链接

?
1
[root@vm4 setuptools-0.6c11]#ln -s /usr/python/Python-2.7.3/bin/easy_install /usr/bin/easy_install-2.7.3

4、测试

?
1
[root@vm4 setuptools-0.6c11]#easy_install2.7.3 numpy

五、安装pip

1、将下载的文件上传pip-1.5.6.tar.gz至python文件夹内

2、解压安装pip-1.5.6

?
1
2
3
[root@vm4 python]#tar -zxvf pip-1.5.6
[root@vm4 python]# cd pip-1.5.6
[root@vm4 pip-1.5.6]# Python-2.7.3 setup.py install

返回如下表示安装成功:

Installed /usr/python/Python-2.7.3/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg

Processing dependencies for pip==1.5.6

Finished processing dependencies for pip==1.5.6

3、建立软链接

?
1
[root@vm4 pip-1.5.6]#ln -s /usr/python/Python-2.7.3/bin/pip /usr/bin/pip-2.7.3

4、测试

?
1
[root@vm4 pip-1.5.6]#pip-2.7.3 install nose

五、安装pymongo

python操作mongo时,需要安装此插件

第一种方法:

?
1
[root@vm4 python]# pip-2.7.3 install pymongo

第二种方法:

1、下载文件pymongo-2.7.2.tar.gz并上传至python

2、解压安装

?
1
2
3
[root@vm4 python]#tar -zxvf pymongo-2.7.2.tar.gz
[root@vm4 python]# cd pymongo-2.7.2
[root@vm4 pymongo-2.7.2]# Python-2.7.3 setup.py install

返回如下表示安装成功:

Installed /usr/python/Python-2.7.3/lib/python2.7/site-packages/pymongo-2.7.2-py2.7-linux- x86_64.egg

Processing dependencies for pymongo==2.7.2

Finished processing dependencies for pymongo==2.7.2 

六、安装xlrd、xlwt、xlutils

xlrd:是python从excel读数据的第三方控件;

xlwt:是python从excel写数据的第三方控件;

xlutils:是python使用xlrd、xlwt的工具箱。若安装不成功,可能原因是需要安装setuptools。

第一种方法:

?
1
2
3
4
5
[root@vm4 python]# pip-2.7.3 install xlrd
 
[root@vm4 python]# pip-2.7.3 install xlwt
 
[root@vm4 python]# pip-2.7.3 install xlutils

第二种方法:

1、下载文件xlrd-0.9.3.tar.gz,xlwt-0.7.5.tar.gz,xlutils-1.7.1.tar.gz并上传至python

2、解压安装xlrd

?
1
2
3
[root@vm4 python]# tar -zxvf xlrd-0.9.3.tar.gz
[root@vm4 python]# cd xlrd-0.9.3
[root@vm4 xlrd-0.9.3]# Python-2.7.3 setup.py install

3、解压安装xlwt

?
1
2
3
[root@vm4 python]# tar -zxvf xlwt-0.7.5.tar.gz
[root@vm4 python]# cd xlwt-0.7.5
[root@vm4 xlwt-0.7.5]# Python-2.7.3 setup.py install

4、解压安装xlutils

?
1
2
3
[root@vm4 python]# tar -zxvf xlutils-1.7.1.tar.gz
[root@vm4 python]# cd xlutils-1.7.1
[root@vm4 xlutils-1.7.1]# Python-2.7.3 setup.py install

七、安装cx_Oracle

python操作oracle时, 需要安装此插件。安装完oracle客户端之后才能安装cx_Oracle.

?
1
[root@vm4 python]# pip-2.7.3 install cx_Oracle

Downloading/unpacking cx-Oracle

Downloading cx_Oracle-5.1.3.tar.gz (104kB): 104kB downloaded

Running setup.py (path:/tmp/pip_build_root/cx-Oracle/setup.py) egg_info for package cx-Oracle

Installing collected packages: cx-Oracle

Running setup.py install for cx-Oracle

building 'cx_Oracle' extension

 gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/opt/oracle/instantclient_11_2/sdk/include -I/usr/include/python2.6 -c cx_Oracle.c -o build/temp.linux-x86_64-2.6-11g/cx_Oracle.o -DBUILD_VERSION=5.1.3

gcc -pthread -shared build/temp.linux-x86_64-2.6-11g/cx_Oracle.o -L/opt/oracle/instantclient_11_2/ -L/usr/lib64 -lclntsh -lpython2.6 -o build/lib.linux-x86_64-2.6-11g/cx_Oracle.so

Successfully installed cx-Oracle

Cleaning up...

安装成功后建立软链接

?
1
[root@localhost instantclient_11_2]# ln -s libclntsh.so.11.1 libclntsh.so

(以上安装成功后的包在/usr/lib64/python2.6/site-packages)

 八、安装过程中遇到的问题

1、在安装了Python2.7.3之后,执行

?
1
2
[root@vm4 Python-2.7.3]#mv /usr/bin/python /usr/bin/python2.6.6
[root@vm4 Python-2.7.3]#ln -s /usr/python/Python-2.7.3/bin/python /usr/bin/python

再使用yum时,报错:It's possible that the above module doesn't match the current version of Python

分析原因:CentOS 6.4系统默认Python版本是2.6.6,需要升级到Python 2.7.3,由于yum包管理是用python写的,仅仅单独升级python会导致yum无法使用.

出现这种情况的主要原因在于新安装的Python没有YUM服务所依赖的Packages.

解决方法:查找yum文件,并编辑此py文件

?
1
2
3
[root@Centos ~]# which yum
/usr/bin/yum
[root@Centos ~]# vi /usr/bin/yum

?
1
#!/usr/bin/python

改为:

?
1
#!/usr/bin/python2.6.6 

然后保存OK.

另外,还有一种可能也同样会导致无法使用yum,就是/usr/bin下的python、python2、python2.4三个文件一定不能改变。理论上说yum只是基于python语言,跟版本并没有关系,但是升级过程中确实会出现问题 

2、在python运行过程中出现如下错误:

python错误:ImportError: No module named setuptools

这句错误提示的表面意思是:没有setuptools的模块,说明python缺少这个模块,那我们只要安装这个 模块即可解决此问题

解决方法:安装setuptools

3、执行python脚本时,报错

?
1
[root@vm4 statistics]# Python-2.7.3 generator.py

Traceback (most recent call last): File "generator.py", line 3, in <module>

import cx_Oracle

ImportError: No module named cx_Oracle

解决方法:安装cx_Oracle

4、[root@localhost site-packages]# pip install cx_Oracle报错:

Downloading/unpacking cx-Oracle

Downloading cx_Oracle-5.1.3.tar.gz (104kB): 104kB downloaded

Running setup.py (path:/tmp/pip_build_root/cx-Oracle/setup.py) egg_info for package cx-Oracle

Installing collected packages: cx-Oracle

Running setup.py install for cx-Oracle

building 'cx_Oracle' extension

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/opt/oracle/instantclient_11_2/sdk/include -I/usr/include/python2.6 -c cx_Oracle.c -o build/temp.linux-x86_64-2.6-11g/cx_Oracle.o -DBUILD_VERSION=5.1.3

gcc -pthread -shared build/temp.linux-x86_64-2.6-11g/cx_Oracle.o -L/opt/oracle/instantclient_11_2/ -L/usr/lib64 -lclntsh -lpython2.6 -o build/lib.linux-x86_64-2.6-11g/cx_Oracle.so

/usr/bin/ld: cannot find -lclntsh

collect2: ld returned 1 exit status

error: command 'gcc' failed with exit status 1

Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/cx-Oracle/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ONXD3d-record/install-record.txt --single-version-externally-managed --compile:

running install

running build

running build_ext

building 'cx_Oracle' extension

creating build

creating build/temp.linux-x86_64-2.6-11g

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/opt/oracle/instantclient_11_2/sdk/include -I/usr/include/python2.6 -c cx_Oracle.c -o build/temp.linux-x86_64-2.6-11g/cx_Oracle.o -DBUILD_VERSION=5.1.3

creating build/lib.linux-x86_64-2.6-11g

gcc -pthread -shared build/temp.linux-x86_64-2.6-11g/cx_Oracle.o -L/opt/oracle/instantclient_11_2/ -L/usr/lib64 -lclntsh -lpython2.6 -o build/lib.linux-x86_64-2.6-11g/cx_Oracle.so

/usr/bin/ld: cannot find -lclntsh

collect2: ld returned 1 exit status

error: command 'gcc' failed with exit status 1

----------------------------------------
Cleaning up...

Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/cx-Oracle/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ONXD3d-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/cx-Oracle
Storing debug log for failure in /root/.pip/pip.log

解决方法:[root@localhost instantclient_11_2]# ln -s libclntsh.so.11.1 libclntsh.so

5、执行python脚本时,报./startup.sh: Permission denied

解决方法:chmod u+x *.sh 

6、

?
1
[root@localhost statistics]# ./generator.py

Traceback (most recent call last):File "./generator.py", line 3, in <module>

import cx_Oracle

ImportError: libaio.so.1: cannot open shared object file: No such file or directory

解决方法:[root@localhost statistics]# yum install libaio

九、python和python-dev以及boost.python的关系

很多时候,很多人搞不清楚,python和python-dev以及boost.python的关系。python是执行环境 ,如果你要c/c++中调用python,或者python调用c或者c++,则需要python-dev。boost.python仅仅是对 python-dev进行了封装,很多函数,两边都具有同样的功能,也就是说用python-dev中的也可以如run1 函数,用boost.python中的也行如run2,boost.python的接口封装得更为友好而已如异常处理。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/yangxia-test/p/4160022.html

延伸 · 阅读

精彩推荐
  • Linux确保Linux系统安全的前提条件 漏洞防护

    确保Linux系统安全的前提条件 漏洞防护

    Linux 作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的软件支持,还有无...

    Linux之家2642020-04-11
  • LinuxLinux常用的日志文件和常用命令

    Linux常用的日志文件和常用命令

    成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。 Linux 中提供了异常日志,并且日志的细节是可配置的。Linux 日志都以明文形式存储,所...

    Linux教程网2632020-04-18
  • Linuxlinux中rmdir命令使用详解(删除空目录)

    linux中rmdir命令使用详解(删除空目录)

    今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的 ...

    linux命令大全5372019-11-19
  • Linux手把手教您在 Linux 上使用 GPG 加解密文件

    手把手教您在 Linux 上使用 GPG 加解密文件

    在本教程中,我将告诉你如何用 GPG 加密和解密文件。这是一个简单的教程,你可以在你的 Linux 系统上尝试所有的练习。这将帮助你练习 GPG 命令,并在你...

    Linux中国6962021-12-15
  • Linux详解Linux系统下PXE服务器的部署过程

    详解Linux系统下PXE服务器的部署过程

    这篇文章主要介绍了Linux系统下PXE服务器的部署过程,包括对PXE的API架构作了一个基本的简介,需要的朋友可以参考下...

    运维之道9812019-07-04
  • LinuxLinux中环境变量配置的步骤详解

    Linux中环境变量配置的步骤详解

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的...

    Myths7882022-02-10
  • LinuxLinux上设置用户通过SFTP访问目录的权限的方法

    Linux上设置用户通过SFTP访问目录的权限的方法

    这篇文章主要介绍了Linux上设置用户通过SFTP访问目录的权限的方法,SFTP可以理解为使用SSH协议进行FTP传输的协议,因而同时要对OpenSSH进行相关设置,需要的朋...

    OSChina10022019-06-19
  • LinuxLinux lnmp下无法使用mail发邮件的两种解决方法

    Linux lnmp下无法使用mail发邮件的两种解决方法

    在配置了lnmp环境后,出现了mail函数不能发送邮件的问题,其实有两种方法,一是使用sendmail组件,而是使用postfix。下面为大家一一介绍下 ...

    Linux之家4042019-09-17