ubuntu 13.04默认的python版本是2.7的,想在其上做python3的开发会遇到问题。比如要使用pip安装软件包时,默认安装的就是python2的包。如果想安装python3的包,就需要用到virtualenv了。
virtualenv的官网在http://www.virtualenv.org/en/latest/。如其官方所说,virtualenv 是一个创建独立python环境的工具。其要解决的最基本问题就是库的依赖和版本,以及间接权限(indirectly permisions,没太明白)。
虽然对官方的描述不是太明白,偶还是只python菜鸟啦。不过总之通过它能够解决python2和python3两个环境互不干扰啦。我是这么做的:
首先,安装virtualenv,在默认的python2下的pip就行:
$ [
sudo
] pip
install
virtualenv
创建虚拟环境:
$ virtualenv -p
/usr/bin/python3
py3env
激活虚拟环境:
$
source
py3env
/bin/activate
你会注意到shell的提示符行前多了(py3env)字样,这样你就可以放心的使用python3做开发了。先下载个三方库试试吧
pip
install
httplib2
大功告成了!
如果要退出python3虚拟环境,输入命令
$ deactivate
即可。
ubuntu14.10下virtualenv与virtualenvwrapper的安装及使用,有需要的朋友可以参考下。
$ sudo pip install virtualenv
$ sudo apt-get install python-virtualenv
$ sudo easy_install virtualenv
$ virtualenv --version
$ virtualenv venv
$ source venv/bin/activate
$ venvScriptactivate
(venv) $
(venv) $ pip install flask
(venv) $
python
>>> import flask
>>>
(venv) $ pip install django
$ django-admin.py --help
$ sudo pip install virtualenvwrapper
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh fi
$ source ~/.bashrc
$ mkvirtualenv --help
设置好之后,你就可以通过下面的命令来操作虚拟环境了:
建立虚拟环境:
$ mkvirtualenv env1
$ ls -la $HOME/.virtualenvs
(env)xx@ubuntu:~$ ls -la /home/xx/.virtualenvs/ 总用量 60 drwxrwxr-x 3 xx xx 4096 1月 7 11:29 . drwxr-xr-x 29 xx xx 4096 1月 13 13:45 .. drwxrwxr-x 6 xx xx 4096 1月 7 11:31 env -rwxr-xr-x 1 xx xx 135 1月 7 11:06 get_env_details -rw-r--r-- 1 xx xx 96 1月 7 11:06 initialize -rw-r--r-- 1 xx xx 73 1月 7 11:06 postactivate -rw-r--r-- 1 xx xx 75 1月 7 11:06 postdeactivate -rwxr-xr-x 1 xx xx 66 1月 7 11:06 postmkproject -rw-r--r-- 1 xx xx 73 1月 7 11:06 postmkvirtualenv -rwxr-xr-x 1 xx xx 110 1月 7 11:06 postrmvirtualenv -rwxr-xr-x 1 xx xx 99 1月 7 11:06 preactivate -rw-r--r-- 1 xx xx 76 1月 7 11:06 predeactivate -rwxr-xr-x 1 xx xx 91 1月 7 11:06 premkproject -rwxr-xr-x 1 xx xx 130 1月 7 11:06 premkvirtualenv -rwxr-xr-x 1 xx xx 111 1月 7 11:06 prermvirtualenv (env)xx@ubuntu:~$
进入已存在的环境或者切换环境:workon env1或者env2
删除虚拟环境: rmvirtualenv env1
(env)xx@ubuntu:~/workspace$ pip install django Collecting django Downloading Django-1.7.2-py2.py3-none-any.whl (7.4MB) 100% |################################| 7.4MB 242kB/s Installing collected packages: django Successfully installed django-1.7.2 (env)xx@ubuntu:~/workspace$ which django-admin.py /
home
/xx/.virtualenvs/env/bin/django-admin.py (env)xx@ubuntu:~/workspace$
下载MySQLdb源码包后解压, 然后直接进入
包的根目录下
在虚拟运行环境下直接编译安装MySQLdb, 然后
检测
MySQLdb模块是否安装。
$ python setup.py build $ sudo /home/xx/.virtualenvs/env/lib/python setup.py install (env)xx@ubuntu:~/下载/MySQL-python-1.2.4b4$ python Python 2.7.8 (default, Oct 20 2014, 15:05:19) [GCC 4.9.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import MySQLdb >>> exit() (env)xx@ubuntu:~/下载/MySQL-
-1.2.4b4$
OK, Enjoy it!!!
一、安装apache及apache-python模块:
sudo apt-get install apache2sudo apt-get install libapache2-mod-python2.7
vim /etc/apache2/conf.d/charset
,取消AddDefaultCharset UTF-8的注释vim /etc/apache2/mods-available/python.conf
,添加:sudo ln -s /etc/apache2/mods-available/python.conf /etc/apache2/mods-enabled/python.conf
sudo vim /etc/apache2/sites-available/python
,内容如下:
ln -s /etc/apache2/sites-available/python /etc/apache2/sites-enabled/python
mkdir -p /var/www/py
chown -R www-data:www-data /var/www/py //用户apache运行的用户,默认是www-data
chmod -R 775 /var/www/py
sudo adduser dave www-data
sudo service apache2 restart
访问:http://127.0.0.1
#!/usr/bin/python
# -*- coding:utf-8 -*-
from mod_python import apache
def handler(req):
req.content_type = ’text/html’ //请求对象的类型
req.write(’<h1>hello!</h1>’) //req是请求对象,它有一个专有方法:write
return apache.OK
chown -R www-data:www-data pytest.py
chmod 775 pytest.py
sudo service apache2 restart访问:http://127.0.0.1/py/pytest.py
sudo apt-get install -y python-dev python-setuptools
sudo easy_install virtualenv virtualenvwrapper pip
sudo mkdir /home/dave/study/webapps //所有virtualenv环境的工作总目录
sudo chown -R www-data:www-data /home/dave/study/webapps
sudo chmod -R g+rw /home/dave/study/webapps
添加如下行到~/.bashrc:
export VIRTUALENV_USE_DISTRIBUTE=1
export WORKON_HOME=/home/dave/study/webapps
source /usr/local/bin/virtualenvwrapper.sh
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true
export PYTHONPATH=/usr/local/lib/python2.7:$PYTHONPATH
然后source ~/.bashrc,如果报错,查看目录属主和权限
cd ~/study/webapps
mkvirtualenv firstenv
pip install “django==1.4.5″,
pip install MySQL-python
//在虚拟环境中安装相关软件,注意,安装mysql-python之前,首先要sudo apt-get install python-dev libmysqlclient-dev,否则会安装失败
查看django是否安装成功:
python,进入idle
>>import django
>>print django.VERSION
1.4.5
cd webapps
mkvirtualenv NAME //创建虚拟环境
rmvirtualenv NAME //删除虚拟环境
lsvirtualenv //列出所有虚拟环境
workon NAME //进入指定虚拟环境,如果不指定NAME,则列出所有的虚拟环境
deactivate //退出当前虚拟环境
pip freeze //列出所有已经安装的软件包
pip search django //查找名字中带django的软件包
pip install django //安装django,默认安装最新版
pip install “django==1.4.5” //安装软件包时指定版本,还可以使用<、<=、>、>=来指定版本范围,如pip install “django>1.4 <1.5”
pip install -U django //升级django
pip uninstall django //卸载django