python开发环境搭建

1. 检查操作系统版本

cat /etc/redhat-release
如下操作命令以root用户执行

2. 安装编译python的依赖

安装开发工具

yum -y update  
yum groupinstall -y "development tools" 

安装额外lib文件用于编译python

yum install -y zlib-devel
yum install -y bzip2-devel 
yum install -y openssl-devel
yum install -y ncurses-devel
yum install -y xz-libs
yum install -y sqlite-devel 
#安装此库,使python导入sqlite3库

3. 下载、编译、安装python

下载、编译、安装python2.7.11

cd /home/wzz/tools
wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
tar xf Python-2.7.11.tgz
cd Python-2.7.11
./configure --prefix=/usr/local
make && make altinstall   ##!注意要使用altinstall 否则系统中不同版本的python都会被命名为python  
alternatives --install /usr/bin/python3.4 python3.4 /usr/local/python3.4.4/bin/python3.4 1

安装完后测试:

[root@wzz ~]# python   
#系统中还是python2.6,位于/usr/bin/python 最好不要用链接的方式升级python 否则会造成yum不可用
Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56)  
[root@wzz ~]# python2.7
Python 2.7.11 (default, Feb  2 2016, 05:32:24) 

4. 安装setuptools

下载ez_setup.py 然后以目标版本的python运行,来安装setuptools

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python2.7 ez_setup.py   #注意使用python2.7 来运行。这个操作会下载setuptools-19.6.2-py2.7.egg

注:其他安装方法可参考: 官方安装指导

5. 安装pip

使用新安装的setuptools里的easy_install-2.7(位于/usr/local/bin/easy_install-2.7)安装pip

easy_install-2.7 pip

注1:有了pip就可以执行如下命令:

pip2.7 install [packagename]
pip2.7 install --upgrade [packagename]
pip2.7 uninstall [packagename]

注2:安装pip的其他两种方法:

a) 通过get-pip.py安装: 
   curl https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python2.7 -  
b) 下载pip源码安装 
   pip-X.X.tar.gz
   cd pip-x.x
   python setup.py install

6. 安装virtualenv

pip2.7 install virtualenv

7.安装virtualenvwrapper

pip2.7 install virtualenvwrapper #/usr/local/bin/目录下创建virtualenvwrapper.sh

编辑~/.bashrc

export PIP_REQUIRE_VIRTUALENV=true     
#如果没有启动虚拟环境,而且没有使用虚拟环境下的pip的绝对路径,系统也安装了pip工具,那么套件将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加此行。此时在不启动虚拟环境的情况下pip install django会提示:Could not find an activated virtualenv (required).

export WORKON_HOME=$HOME/.virtualenvs   #虚拟环境存放目录
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

编辑完.bashrc后执行

source ~/.bashrc

注:使用virtualenvwrapper

#可使用--python选项指定Python版本 --python=/usr/bin/python2.6
mkvirtualenv [虚拟环境名称]: 创建并切换到虚拟环境       

workon:列出虚拟环境列表
workon [虚拟环境名称] :启动/切换虚拟环境
rmvirtualenv [虚拟环境名称] 删除虚拟环境
deactivate: 离开虚拟环境

8. virtualenv虚拟环境里安装django

新创建了一个虚拟环境名为env1

(env1) [root@wzz site-packages]# pip install django

此时 django被安装在虚拟环境env1里 
位置是:/root/.virtualenvs/env1/lib/python2.7/site-packages/django

验证

(env1) [root@wzz env1]# python
import django                 #如果python shell敲击方向键显示[[C^[[D 需执行pip install readline
print(django.get_version())
1.9.2   

9.centos安装配置eclipse和pydev

pydev插件地址 http://pydev.org/updates
注:如果在线安装失败时, 需取消勾选 show only the latest version of available software
配置pydev指向virtualenv里python解释器

Windows> Preferences > PyDev > Interpreters > Python Interpreter >New >Browse
指向:~/.virtualenvs/<venv-name>/bin/python

10.mysql5.5

解决perl编译问题:

echo 'export LC_ALL=C'>> /etc/profile
source /etc/profile

安装CAMKE:

tar zxf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./configure
make & make install

创建用户

groupadd mysql
useradd -g mysql mysql

编译安装mysql

tar zxf mysql-5.5.27.tar.gz
cd mysql-5.5.27
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.32 \
 -DMYSQL_DATADIR=/usr/local/mysql-5.5.32/data \
 -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.5.32/tmp/mysql.sock \
 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
 -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii -DENABLED_LOCAL_INFILE=ON \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 \
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
 -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
 -DWITH_FAST_MUTEXES=1 \
 -DWITH_ZLIB=bundled \
 -DENABLED_LOCAL_INFILE=1 \
 -DWITH_READLINE=1 \
 -DWITH_EMBEDDED_SERVER=1 \
 -DWITH_DEBUG=0
make -j 4  #启用4个cpu去编译。提高编译速度。 
make install

cd /usr/local/
ln -s mysql-5.5.32/ mysql
chown -R mysql.mysql /usr/local/mysql/data/
cd /home/wzz/tools/mysql-5.5.32/scripts 
chmod a+x  mysql_install_db.sh 
./mysql_install_db.sh --user=mysql --basedir=/usr/local/mysql 
--datadir=/usr/local/mysql/data 或者用 sh scripts/mysql_install_db.sh
cp support-files/my-small.cnf /etc/my.cnf   #mysql源码目录下
cp support-files/mysql.server /etc/init.d/mysqld
cd /etc/init.d/   
chmod +x mysqld 
echo 'PATH=$PATH:/usr/local/mysql/bin' >>/etc/profile 
#总之是要将mysqlbin目录放入环境变量
. /etc/profile
mysqladmin -u root password '123456' 
mysql -uroot -p123456

11. 安装mysql-db

unzip MySQL-python-1.2.5.zip 
cd MySQL-python-1.2.5
workon env1  #先进入虚拟环境env1
(env1) [root@wzz MySQL-python-1.2.5]# which python
       /root/.virtualenvs/env1/bin/python
(env1) [root@wzz MySQL-python-1.2.5]# python setup.py build
(env1) [root@wzz MySQL-python-1.2.5]# python setup.py install

#可以看到mysqldb的被安装在虚拟环境env1里:
    Installed /root/.virtualenvs/env1/lib/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg

测试:

>>> import MySQLdb

如果出现:
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory 

解决方法是: 
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18 

如果此时eclipse正在运行会提示:
System PYTHONPATH changes detected 点击 Apply selected changes.

12. 创建简单django项目

创建项目时指定python解释器

指定python解释器

1)创建数据库:django可以自动创建表不能自己创建数据库。可以用Phpmyadmin创建库

2)配置文件settings里连接数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'webdb',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'',
        'PORT':'',
    }
}

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'web',  #!!要添加这个
]

3) models.py 里创建model,继承自models.Model类

from __future__ import unicode_literals
from django.db import models

class UserInfo(models.Model):
    username=models.CharField(max_length=50)  #create table's column
    password=models.CharField(max_length=50)

    gender=models.BooleanField()
    age=models.IntegerField()
    memo=models.TextField()
    createDate=models.DateTimeField()

class Group(models.Model):   
    Name = models.CharField(max_length=50)

class User(models.Model):
    Name=models.CharField(max_length=50)

4) 执行 (可以在eclipse里django > custom command >里添加 makemigrations和migrate命令
python manage.py makemigrations
python manage.py migrate

执行完后在数据库中成功创建表 web_UserInfo 表 ([应用名]_表名)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值