美文网首页python收藏
CentOS 6 安装 Python3.5以及配置Django

CentOS 6 安装 Python3.5以及配置Django

作者: FiveStrong | 来源:发表于2015-10-05 22:19 被阅读22637次

安装python3.5

安装步骤如下 :
1 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件)

yum groupinstall 'Development Tools'
yum install zlib-devel bzip2-devel  openssl-devel ncurses-devel```

2 下载 Python3.5代码包
```shell 
wget  https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz```
3 编译
```shell
tar Jxvf  Python-3.5.0.tar.xz
cd Python-3.5.0
./configure --prefix=/usr/local/python3
make && make install 

4 设置环境变量

echo 'export PATH=$PATH:/usr/local/python3/bin' >> ~/.bashrc

5 或者可以直接替换python2

rm   /usr/bin/python
ln -sv  /usr/local/bin/python3.5 /usr/bin/python
这样做的目的是在系统任意目录敲入python调用的是python3的命令,而非系统默认2.6.6的
但是这样同时这会导致依赖python2.6的yum不能使用,因此还要修改yum配置。

6 更新yum配置。

ll /usr/bin | grep python
这时/usr/bin目录下面是包含以下几个文件的(ll |grep python),其中有个python2.6,只需要指定yum配置的python指向这里即可
vim /usr/bin/yum
通过vim修改yum的配置
#!/usr/bin/python改为#!/usr/bin/python2.6,保存退出。
完成了python3的安装。```

##安装pip
pip是根据官网wiki安装的,地址[点击这里](http://www.pip-installer.org/en/latest/installing.html)。
1,安装setuptools。pip安装前需要先安装setuptools,在上面的页面中给出了下载地址。下载并执行即可:
```shell
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py

2 我用上面的方法没有成功,网上找到了这个:
先下载get-pip.py,

If [setuptools](https://pypi.python.org/pypi/setuptools) is not already installed, get-pip.py will install [setuptools](https://pypi.python.org/pypi/setuptools) for you.  
Beginning with pip v1.5.1, get-pip.py stopped requiring setuptools to be installed first.

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

pip安装后执行pip依然无法找到命令,细看pip安装的提示信息发现安装到了python3下面,这里肯定不是系统的classpath目录。
如下:

 Installing pip3 script to /var/python3/bin    
 Installing pip3.3 script to /var/python3/bin       
 Installing pip script to /var/python3/binSuccessfully installed pip

解决办法就是简单地建立连接到系统的classpath目录之一:
mv /usr/bin/pip /tmp
ln -sv /usr/local/python3/bin/pip /usr/bin/pip
3,按照pip的说法,最后执行

To upgrade an existing [setuptools](https://pypi.python.org/pypi/setuptools)run
pip install -U setuptools

悲剧没成功。。。

安装git:

执行并根据提示一路next,安装完成后执行git --help测试是否安装成功。需要说明git的安装不是必须的(最终我也没用,因为在国内呵呵),除非你希望始终保持最新发布的django代码,否则可以忽略。

 yum install git 

安装django

有了pip,这件事变得非常简单,只需要一个命令即可。需要说明的是和上面的问题一样,你需要在系统classpath目录下建立到django-admin.py的连接。

pip install django
ln -s /var/python3/lib/python3.3/site-packages/django/bin/django-admin.py    /usr/bin/django-admin.py
#这里视你的django安装位置而定——一般是python的site-packages下。

如果pip没法执行,直接去官方下载Django最新版,编译安装。
它会安装在你的python3目录里面,所以需要配置环境变量。

执行后django安装完成。下面建立一个演示的website,参考来自django的指导,通过执行命令

 django-admin.py startproject mysite

建立一个名为mysite的工程其结构如下:

mysite/ 
       manage.py   
       mysite/ 
                __init__.py 
                settings.py 
                urls.py
                wsgi.py
外层mysite:仅仅是工程的容器,叫什么名字没关系。  
manage.py:一个命令行的工具类用于和你的工程交互。
内层mysite:实际的python package。   
__init__.py:空文件,它的存在是为了表明这是一个python package。    settings.py: Django的配置文件。 
urls.py:简单的说就是用于url派发的配置。   
wsgi.py: 用于和wsgi server连接的接入点,商用部署时用到的server。  

到现在django的安装和工程已经建立,可以启动django开发的服务器了。django警告这个内置的server只适合开发用而非商用是没有安全保护的。执行以下命令启动django:

python manage.py runserver

这时候如果你是直接在linux主机上访问的那么已经可以通过localhost:8000来访问了,如果和我一样通过vmvare启动的linux并想在自己的物理机上访问暂时是行不通的。
可以通过命令

python manage.py runserver 0.0.0.0:8000

使django server监听public ip以便从外面访问

修复python2

如果不小心误删除了/usr/bin/python2这个文件,导致yum不能使用。
解决办法——重装相关的rpm文件。
所有的rpm文件可以在网易提供的景象中下载,应该是国内比较快的地方了,地址:http://mirrors.163.com/centos/6.5/os/i386/Packages/
rpm列表如下:
python-2.6.6-29.el6.x86_64.rpm
python-devel-2.6.6-29.el6.x86_64.rpm
python-iniparse-0.3.1-2.1.el6.noarch.rpm
python-setuptools-0.6.10-3.el6.noarch.rpm
python-urlgrabber-3.9.1-8.el6.noarch.rpm
rpm-python-4.8.0-19.el6.x86_64.rpm
yum-3.2.29-22.el6.centos.noarch.rpm
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
python-pycurl-7.19.0-8.el6.x86_64.rpm

注意rpm命令,必须要追加 –replacepkgs 参数,强制其重新安装,否则rpm会报告说package已安装。

rpm -Uvh --replacepkgs ***.rpm

至此打完收工:)

相关文章

网友评论

  • cfbc577d2dd2:设置环境变量加一行:
    echo 'export PATH' >> ~/.bashrc

    此外,最新3.5.3安装好了以后就不需要再手动安装pip了。直接pip3, it should work.
    Joe_sh:1. 在 mac上是这样
    2. 在Amazon Linux(centOS)上, python3 -m -pip
  • Passon_Fang:设置环境变量 后是不是需要 source ~/.bashrc
  • 头上有灰机:参考了你前面的安装了python3.5.2,但是你这个设置环境变量貌似没效果啊,后来折腾来折腾去 ,才想起,可能是环变量的问题,就搜了下centos怎么设置环境变量,然后一切都搞定了~~~~然后装virtualenv,装扩装,配置nginx,用gunicorn启动成功~~~
  • f89fd2cc8013:pip3.5.2已经自带了pip3.5以及pip3,为什么还要安装呢,直接升级就行了
    Randoom:为什么要升级呢?在$PATH路径中设置个软链接就好了啊,例如:/usr/local/bin
  • 60456b83b609:执行 python manage.py runserver 报如下错误
    python manage.py runserver
    Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7feb2972e950>
    Traceback (most recent call last):
    File "/usr/local/python3/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 34, in <module>
    from pysqlite2 import dbapi2 as Database
    ImportError: No module named 'pysqlite2'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/usr/local/python3/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 36, in <module>
    from sqlite3 import dbapi2 as Database
    File "/usr/local/python3/lib/python3.5/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
    File "/usr/local/python3/lib/python3.5/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
    ImportError: No module named '_sqlite3'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/usr/local/python3/lib/python3.5/site-packages/django/utils/autoreload.py", line 226, in wrapper


    尝试过安装
    /usr/local/python3/bin/pip3.5 install pysqlite


    /usr/local/python3/bin/pip3.5 install sqlite3

    都不行
  • jingkeke:你贴的安装pip官网有如下介绍:
    Do I need to install pip?

    pip is already installed if you're using Python 2 >=2.7.9 or Python 3 >=3.4 downloaded from python.org, but you'll need to upgrade pip.

    /usr/local/python3/bin/pip3 install -U pip
  • jingkeke:python ez_setup.py : 如果报错“zipimport.ZipImportError: can’t decompress data; zlib not available” 或者 binascii 。。。 :
    zlib 解决办法:
    (1)先安装系统相应的依赖库文件
    1

    sudo apt-get install zlibc zlib1g-dev

    (2)到python安装目录下执行
    1

    sudo ./configure

    编辑Modules/Setup文件
    vim Modules/Setup
    找到下面这句,去掉注释
    #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

    重新编译安装:
    1
    2

    sudo make
    sudo make -i install

    binascii 类似

本文标题:CentOS 6 安装 Python3.5以及配置Django

本文链接:https://www.haomeiwen.com/subject/hgpgcttx.html