故事:有,我有关于Python 2.4和其他2.6工程的应用程式。 我试着做的python2.4的符号链接,Python和事情开始挣脱ubuntu上轻松活泼。 现在,我下载的2.4每个依赖和使用的python2.4 setup.py的安装安装它。 的依赖似乎是永无止境的。
问题1:我将如何告诉去使用版本某某PF蟒蛇像天的Django使用2.6和说mjango使用2.4任何框架? 就像我们说的东西使用的数据库数据库名称有点语法。
问题2:有没有为我的符号链接的黑客是一个虚拟的灾难的版本之间切换更优雅的方式?
问题3:我可以下载一个deb的说耐寒,让轻快相信其为她?
使用VIRTUALENV 。
有更多的信息在这里: 用的virtualenv工作 。
使用的virtualenv,您可以创建你想为每个项目或应用程序的任何版本的Python新的虚拟Python环境。 然后,您可以激活相应的环境,当你需要它。
为了扩大对我的回答:
您可以在计算机上安装的Python的多个版本(我有我的机器上2.4,2.5,2.6和3.1 - 我安装的每一个源文件)。 我使用的是Mac,并保持我的系统Python作为无论OS X设置为默认值。
我用easy_install的安装软件包。 在Ubuntu,你可以得到的easy_install这样的:
sudo apt-get install python-setuptools
要安装的virtualenv然后执行:
easy_install virtualenv
我倾向于创建我工作的每个项目一个新的virtualenv,不给它进入全球站点包。 这使所有的包紧在一起,让我拥有了一切的特定版本,我需要。
virtualenv -p python2.6 --no-site-packages ~/env/NEW_DJANGO_PROJECT
然后,每当我做与此相关的项目,我激活它什么:
source ~/env/NEW_DJANGO_PROJECT/bin/activate
如果我运行python现在它使用这种新的蟒蛇。 如果我使用的easy_install它安装东西放到我的新的虚拟环境。
所以,应该virtualenv中能够解决所有的你的问题。
Pythonbrew是一个神奇的工具。 这也可以称为类似于RVM-的Ruby版本管理,但Pythonbrew由Perlbrew灵感的Python版本经理。
Pythonbrew是自动的Python在用户$ HOME建筑和安装的程序。
Dependencies – curl
安装Pythonbrew之前,安装“卷曲”的机器,在终端安装使用卷曲下面的命令,当系统提示用户给出的密码。
$sudo apt-get install curl
安装卷曲后,立即安装Pythonbrew,复制和粘贴在终端下面的命令并在提示时,用户键入密码。
安装Recomended方法 - 简易安装
$ sudo easy_install pythonbrew
要完成安装,键入以下命令
$pythonbrew_install
安装的替代方法:
使用curl命令从github上下载最新版本的pythonbrew的。
curl -kLO http://github.com/utahta/pythonbrew/raw/master/pythonbrew-install
下载,更改后“pythonbrew安装”到“可执行”
chmod +x pythonbrew-install
在终端然后,运行pythonbrew安装
./pythonbrew-install
现在Pythonbrew已经安装在“Home Directory”
即/home/user/.pythonbrew
接着,复制和下面的行粘贴到〜/ .bashrc中的端部
*注意:改变“user”
您的用户名在系统
source /home/user/.pythonbrew/etc/bashrc
而已! 关闭终端。 步骤来安装不同版本的Python:
打开新的终端,输入以下命令或复制并粘贴。
$pythonbrew install 2.6.6
这将安装Python 2.6.6和安装Python 2.7或Python 3.2,改变以前的命令的版本号。
$pythonbrew install 2.7
要么
$pythonbrew install 3.2
更新:如果你得到错误,而安装则使用下面的命令安装。
$pythonbrew install --force 2.7
要么
$pythonbrew install --force 3.2
如何管理安装在系统的Python的不同版本
举例来说,如果Python的2.6.6
, Python 2.7
和Python 3.2
安装在你的系统中,各版本之间的切换可以做到如下:
默认情况下, Python 2.6.6
将被激活,并在为了切换到Python 2.7使用下面的命令
$pythonbrew switch 2.7
默认的Python改变到Python 2.7。
现在,切换到Python 3.2的变化的版本号在前面的命令。
$pythonbrew switch 3.2
使用下面的命令检查或列出已安装的Python版本
$pythonbrew list
使用下面的命令检查或列出可用的Python版本安装
$pythonbrew list -k
卸载任何已安装的Python版本(例如卸载的Python 2.7),则使用下面的命令。
$pythonbrew uninstall 2.7
使用下面的命令来更新Pythonbrew
$pythonbrew update
使用以下命令禁用Pythonbrew
并激活默认版本
$pythonbrew off
您可以在单一的Linux / Ubuntu的机器安装Python的多个版本的经验!
我发现http://github.com/utahta/pythonbrew更容易安装和比其他任何解决方案中使用。
只要安装它,你就会有以下选项:
pythonbrew install 2.7.2
pythonbrew use 2.7.2 # use 2.7.2 for a current terminal session
pythonbrew switch 2.7.2 # use 2.7.2 by default system wide
pythonbrew uninstall 2.7.2
注:如果您使用的是基于Linux的操作系统预装的Python,开关(系统级)到另一个版本可以使事情出问题,所以要小心。
更基层的做法比VIRTUALENV是并排侧安装两个Python版本。
如果现有的安装,并希望第二次安装到相同的根路径(例如,/ usr /本地),使得安装时使用此目标:
make altinstall
当你的第二个安装的Python 2.6,这将留给你一个/usr/local/bin/python2.6沿着旧的/ usr / local / bin目录/蟒蛇。
一个简单的方法,以这两个版本之间切换使用你在哪里调用解释壳壳别名(别名蟒蛇=在/ usr / local / bin目录/ python2.6的)。 但是,这不会跨越子壳和她邦调用工作。
pyenv又是一个Python的经理。 在该链接的README.md具有良好的指令集,但他们基本上是:
$ cd
$ git clone git://github.com/yyuu/pyenv.git .pyenv
然后设置你的$ PATH。
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
安装Python期望的版本:
$ pyenv install 2.7.8
安装完成后,你需要运行以下命令:
$ pyenv rehash
然后切换到要运行,shell的Python版本:
$ pyenv shell 2.7.8
“问题1:我将如何告诉去任何框架和使用的版本,所以等等之类的一天Django的PF蟒使用2.6和说mjango使用2.4?”
您只需提供他们所需的特定Python版本运行它们。 与/usr/bin/python2.4运行mjango与/usr/bin/python2.6 Django的。 那么容易,因为这一点。
“问题2:有没有为我的符号链接的黑客是一个虚拟的灾难的版本之间切换更优雅的方式?”
是的,见上面。 有Python中的两个独立的安装,并与不同版本的显式运行。
“问题3:我可以下载一个deb的说耐寒,让轻快相信其她吗?”
这通常工作。 如果没有,那是因为它存在于哈代的依赖,并在Jaunty中不存在,然后你不能。
这里是一个问题4,你没有问,但应该有。 ;)
“有没有下载所有这些Python模块更简单的方法?”
就在这里。 安装setuptools,并使用easy_install的。 它不会帮你的库依赖条件为有C代码,需要编译的Python模块。 但它会帮助所有其他人。 easy_install的将下载并安装有问题的模块的所有的Python依赖一气呵成。 这使得它快了很多,安装Python模块。
移动到项目目录:
创建一个环境:virtualenv中-p python2.7 --no-站点包〜/ ENV / twoseven
然后激活源:源〜/ ENV / twoseven /斌/启动