Aja*_*dav 12 python django virtualenv
我已经在我的系统上安装了python2.6和django1.2.3(Ubuntu 10.x).
这是我用于大多数项目的设置.但对于某些项目,我需要沙盒环境,不同的django版本,一些额外的python模块,有时甚至是不同的python版本.
所以,我现在尝试使用pip和virtualenv,但我无法更改python和django版本.我是否必须删除默认设置并将所有现有项目移至1 virtualenv.我可以避免这个吗?即使我这样做,我如何指定不同版本的python?
如果我必须删除旧设置.我怎么做?我目前安装了大部分东西,/usr/local/lib/python2.6/dist-packages/但我不确定其他地方是否还安装了任何东西.
如果我只使用Ubuntu进行完全空白设置,那么理想的工作流程是什么?是这个吗?
Install python
$ sudo apt-get install python-setuptools
$ sudo apt-get install python-virtualenv
$ sudo easy_install pip
$ sudo pip install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)
你想做:
virtualenv --python=/path/to/python/version --no-site-packages ENV_NAME
Run Code Online (Sandbox Code Playgroud)
例如:
virtualenv --python=/usr/bin/python2.6 --no-site-packages my_project_env
Run Code Online (Sandbox Code Playgroud)
如果您对项目执行此操作,则应该能够为每个项目单独配置.
我从源代码安装了我需要的每个Python版本(2.4,2.5,2.6,2.7,3.1和3.2).这总是最好的事情,所以你不要搞乱系统Python.
我在/ opt中安装了它们.像这样(你需要一堆Ubuntu包,首先):
./configure --prefix /opt/pythonxx
make -j2; make install # j2 is a nice trick there for dualcores not everyone knows.
Run Code Online (Sandbox Code Playgroud)
然后我为每个版本安装我需要的东西.我开始安装Distribute:
wget http://nightly.ziade.org/distribute_setup.py
/opt/pythonxx/bin/python distribute_setup.py
Run Code Online (Sandbox Code Playgroud)
(除了Python 3,谁需要distribute_setup3.py)然后我可以安装pip
/opt/pythonxx/bin/easy_install pip
Run Code Online (Sandbox Code Playgroud)
和virtualenv:
/opt/pythonxx/bin/pip install virtualenv
Run Code Online (Sandbox Code Playgroud)
(适用于Python 3的Virtualenv3或virtualenv5)
就是这样!如果我想使用Python 2.4制作virtualenv,我会:
/opt/python24/bin/virtualenv foobar
Run Code Online (Sandbox Code Playgroud)
和Python 2.7:
/opt/python27/bin/virtualenv foobar
Run Code Online (Sandbox Code Playgroud)
正在运行python
/opt/python24/bin/python
Run Code Online (Sandbox Code Playgroud)
等等.我从不在上面的Pythons中安装任何东西,除了这些模块和PIL(因为PIL很痛苦,但现在有Pillow,所以你也不必这样做).我使用zc.buildout和virtualenv来保持蟒蛇的清洁.
| 归档时间: |
|
| 查看次数: |
10804 次 |
| 最近记录: |