python开发环境搭建

来源:互联网 发布:软件账号密码扫描 编辑:程序博客网 时间:2024/05/01 23:13

1. 检查操作系统版本

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

2. 安装编译python的依赖

安装开发工具

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

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

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

3. 下载、编译、安装python

下载、编译、安装python2.7.11

cd /home/wzz/toolswget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgztar xf Python-2.7.11.tgzcd Python-2.7.11./configure --prefix=/usr/localmake && 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.7Python 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.pypython2.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.7export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenvsource /usr/local/bin/virtualenvwrapper.sh

编辑完.bashrc后执行

source ~/.bashrc

注:使用virtualenvwrapper

#可使用--python选项指定Python版本 --python=/usr/bin/python2.6mkvirtualenv [虚拟环境名称]: 创建并切换到虚拟环境       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]# pythonimport django                 #如果python shell敲击方向键显示[[C^[[D 需执行pip install readlineprint(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/profilesource /etc/profile

安装CAMKE:

tar zxf cmake-2.8.4.tar.gzcd cmake-2.8.4./configuremake & make install

创建用户

groupadd mysqluseradd -g mysql mysql

编译安装mysql

tar zxf mysql-5.5.27.tar.gzcd mysql-5.5.27cmake . -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=0make -j 4  #启用4个cpu去编译。提高编译速度。 make installcd /usr/local/ln -s mysql-5.5.32/ mysqlchown -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.shcp support-files/my-small.cnf /etc/my.cnf   #mysql源码目录下cp support-files/mysql.server /etc/init.d/mysqldcd /etc/init.d/   chmod +x mysqld echo 'PATH=$PATH:/usr/local/mysql/bin' >>/etc/profile #总之是要将mysqlbin目录放入环境变量. /etc/profilemysqladmin -u root password '123456' mysql -uroot -p123456

11. 安装mysql-db

unzip MySQL-python-1.2.5.zip cd MySQL-python-1.2.5workon 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_literalsfrom django.db import modelsclass 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
原创粉丝点击