切换python版本

发布于 2024-07-26 13:00:31 字数 383 浏览 4 评论 0原文

故事: 我的应用程序之一适用于 python 2.4,另一个适用于 2.6。 我尝试做一个 python2.4 到 python 的符号链接,事情开始在 ubuntu jaunty 上崩溃。 现在我正在下载 2.4 的每个依赖项并使用 python2.4 setup.py install 安装它。 依赖性似乎是无穷无尽的。

问题1:我如何告诉任何使用版本某某pf python(如day django)的框架使用2.6并说mjango使用2.4? 就像我们说的使用数据库数据库名称语法一样。

问题2:是否有更优雅的方式在版本之间切换,因为我的符号链接黑客是一场虚拟灾难?

问题 3:我可以下载 say Hardy 的 deb 并让 jaunty 相信这是给她的吗?

Story:
One of the app that i have works on python 2.4 and other on 2.6. I tried to do a sym link of python2.4 to python and things started to break loose on ubuntu jaunty.
Now i am downloading every dependency of 2.4 and installing it using python2.4 setup.py install. The dependencies seem to be endless.

Question1: How will i tell any framework that go and use version so and so pf python like day django to use 2.6 and say mjango to use 2.4? Something like we say use database databasename kinda syntax.

Question2: Is there more elegant way to switch between version as my hack of symlinking was a virtual disaster?

Question3: Can I download a deb for say hardy and make jaunty believe its for her?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

怼怹恏 2024-08-02 13:00:31

使用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,它会使用这个新的 python。 如果我使用 easy_install ,它会将东西安装到我的新虚拟环境中。

所以,virtualenv应该能够解决你所有的问题。

Use Virtualenv.

There is more information here: Working with virtualenv.

Using virtualenv you can create a new virtual python environment with whatever version of Python you want for each project or application. You can then activate the appropriate environment when you need it.

To expand on my answer:

You can install multiple versions of Python on your computer (I have 2.4, 2.5, 2.6 and 3.1 on my machine - I install each from source). I use a Mac, and keep my system Python as whatever OS X sets as the default.

I use easy_install to install packages. On ubuntu you can get easy_install like this:

sudo apt-get install python-setuptools

To install virtualenv then do:

easy_install virtualenv

I tend to create a new virtualenv for each project I'm working on and don't give it access to the global site-packages. This keeps all the packages tight together and allows me to have the specific versions of everything I need.

virtualenv -p python2.6 --no-site-packages ~/env/NEW_DJANGO_PROJECT

And then whenever I am doing anything related to this project I activate it:

source ~/env/NEW_DJANGO_PROJECT/bin/activate

If I run python now it uses this new python. If I use easy_install it installs things into my new virtual environment.

So, virtualenv should be able to solve all of your problems.

注定孤独终老 2024-08-02 13:00:31

Pythonbrew 是一个神奇的工具。 也可以称为 Python 版本管理器,类似于 RVM-Ruby 版本管理器,但 Pythonbrew 受到 Perlbrew 的启发。

Pythonbrew 是一个在用户 $HOME 中自动构建和安装 Python 的程序。

 Dependencies – curl

在安装 Pythonbrew 之前,请在计算机中安装“curl”,要安装curl,请在终端中使用以下命令,在出现提示时提供用户密码。

 $sudo apt-get install curl

安装curl后,立即安装Pythonbrew,将以下命令复制并粘贴到终端中,并在出现提示时键入用户的密码。

推荐的安装方法 - Easy Install

 $ sudo easy_install pythonbrew 

要完成安装,请键入以下命令

 $pythonbrew_install

替代安装方法:

使用curl 命令从 github 下载最新版本的 pythonbrew。

curl -kLO http://github.com/utahta/pythonbrew/raw/master/pythonbrew-install

下载后,将“pythonbrew-install”更改为“executable”

 chmod +x pythonbrew-install

然后,在终端中运行pythonbrew-install

./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.6Python 2.7Python 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的体验机器!

Pythonbrew is a magical tool. Which can also be called as Python version manager similar to that of RVM-Ruby version manager but Pythonbrew is inspired by Perlbrew.

Pythonbrew is a program to automate the building and installation of Python in the users $HOME.

 Dependencies – curl

Before Installing the Pythonbrew, Install “curl” in the machine, to install curl use the below command in the terminal, give the the password for the user when prompted.

 $sudo apt-get install curl

After Installing the curl, Now Install Pythonbrew, copy and paste the following commands in the terminal and type the password for the user when prompted.

Recomended method of installation - Easy Install

 $ sudo easy_install pythonbrew 

To complete the installation, type the following command

 $pythonbrew_install

Alternate method of installation:

Use curl command to download the latest version of pythonbrew from github.

curl -kLO http://github.com/utahta/pythonbrew/raw/master/pythonbrew-install

After downloading, change “pythonbrew-install” to “executable”

 chmod +x pythonbrew-install

Then, run the pythonbrew-install in the terminal

./pythonbrew-install

Now the Pythonbrew has been installed in the “Home Directory” i.e., /home/user/.pythonbrew

Next, copy and paste the following line to the end of ~/.bashrc

*NOTE: change “user” to your user name in the system

source /home/user/.pythonbrew/etc/bashrc

Thats it! Close the terminal.
Steps to Install different versions of Python:

Open a new terminal, type the following command or copy and paste it.

$pythonbrew install 2.6.6

This will install Python 2.6.6 and to install Python 2.7 or Python 3.2, change the version number in the previous command.

$pythonbrew install 2.7

or

$pythonbrew install 3.2

Update: If you get error while Installing then Install using the below command.

$pythonbrew install --force 2.7

or

$pythonbrew install --force 3.2

How to manage different versions of Python installed in system

For instance, if Python 2.6.6, Python 2.7 and Python 3.2 is installed in your system, switching between the versions can be done as follows:

By default, Python 2.6.6 will be active and in order to switch to Python 2.7 use the below command

$pythonbrew switch 2.7

The default Python is changed to Python 2.7.

Now, to switch to Python 3.2 change the version number in the previous command.

$pythonbrew switch 3.2

Use the below command to check or list the installed Python versions

$pythonbrew list

Use the below command to check or list the available Python Versions to install

$pythonbrew list -k

To uninstall any of the installed Python version (for example to uninstall Python 2.7), use the below command.

$pythonbrew uninstall 2.7

Use the below command to update the Pythonbrew

$pythonbrew update

Use the below command to disable the Pythonbrew and to activate the default version

$pythonbrew off

Enjoy the experience of installing multiple versions of Python in single Linux / ubuntu machine!

请帮我爱他 2024-08-02 13:00:31

我发现 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

注意:如果您使用预装了 Python 的基于 Linux 的操作系统,则(系统范围内)切换到另一个版本可能会导致出现问题,因此当心。

I find http://github.com/utahta/pythonbrew much easier to install and use than any other solution.

Just install it and you'll have these options:

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

Note: if you're using a Linux-based operating system with preinstalled Python, switching (system wide) to another version can make things go wrong, so be careful.

无名指的心愿 2024-08-02 13:00:31

比 Virtualenv 更草根的方法是并行安装两个 Python 版本。

如果已有安装,并且您希望在同一根路径(例如 /usr/local)中进行第二次安装,请在安装时使用此目标:

make altinstall

当您的第二次安装是 Python 2.6 时,这将为您留下 /usr/ local/bin/python2.6 与旧的 /usr/local/bin/python 一起。

在这两个版本之间切换的一个简单方法是在调用解释器的 shell 上使用 shell 别名(别名 python=/usr/local/bin/python2.6)。 但这不适用于子 shell 和 she-bang 调用。

A more grassroot approach than Virtualenv is the side-by-side installation of two Python versions.

If there is an existing installation, and you want a second installation into the same root path (e.g. /usr/local), use this target when making install:

make altinstall

When your second installation is Python 2.6, this will leave you with a /usr/local/bin/python2.6 alongside the old /usr/local/bin/python.

A simple way to switch between these two versions is using a shell alias (alias python=/usr/local/bin/python2.6) on the shell where you invoke the interpreter. But this won't work across sub-shells and she-bang invocations.

神妖 2024-08-02 13:00:31

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

然后切换到您要运行的 Python 版本,对于 shell:

$ pyenv shell 2.7.8

pyenv is yet another Python manager. The README.md at that link has a good set of instructions, but they basically are:

$ cd
$ git clone git://github.com/yyuu/pyenv.git .pyenv

Then set up your $PATH.

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

Install the desired versions of Python:

$ pyenv install 2.7.8

After installing you need to run this:

$ pyenv rehash

Then switch to the version of Python you want to run, for the shell:

$ pyenv shell 2.7.8
灵芸 2024-08-02 13:00:31

“问题 1:我如何告诉任何框架使用某某版本的 python(例如 day django)使用 2.6,并告诉 mjango 使用 2.4?”

您只需使用它们所需的特定 python 版本运行它们即可。 使用 /usr/bin/python2.4 运行 mjango,使用 /usr/bin/python2.6 运行 django。 就这么简单。

“问题 2:是否有更优雅的方式在版本之间切换,因为我对符号链接的攻击是一场虚拟灾难?”

是的,见上文。 有两个单独的 Python 安装,并使用不同的版本显式运行。

“问题 3:我可以为 say Hardy 下载一个 deb,并让 jaunty 相信这是给她的吗?”

这通常有效。 如果没有,那是因为它具有 Hardy 中存在的依赖项,而 Jaunty 中不存在,那么您就不能这样做。

这是您没有问但应该问的问题 4。 ;)

“有没有更简单的方法来下载所有这些 Python 模块?”

就在这里。 安装setuptools,并使用easy_install。 它不会帮助您处理那些具有 C 代码且需要编译的 Python 模块的库依赖性。 但它将会帮助所有其他人。 easy_install 将一次性下载并安装相关模块的所有 Python 依赖项。 这使得安装 Python 模块变得更快。

"Question1: How will i tell any framework that go and use version so and so pf python like day django to use 2.6 and say mjango to use 2.4?"

You simply run them with the specific python version they need. Run mjango with /usr/bin/python2.4 and django with /usr/bin/python2.6. As easy as that.

"Question2: Is there more elegant way to switch between version as my hack of symlinking was a virtual disaster?"

Yes, see above. Have two separate installs of Python, and run explicitly with the different versions.

"Question3: Can I download a deb for say hardy and make jaunty believe its for her?"

That generally works. If it doesn't, it's because it has dependencies that exist in Hardy, and does not exist in Jaunty, and then you can't.

And here is a Question 4 you didn't ask, but should have. ;)

"Is there an easier way to download all those Python modules?"

Yes, there is. Install setuptools, and use easy_install. It will not help you with library dependecies for those Python modules that have C code and need to be compiled. But it will help with all others. easy_install will download and install all the Python dependencies of the module in question in one go. That makes it a lot quicker to install Python modules.

私藏温柔 2024-08-02 13:00:31

移动到项目目录:

创建环境:
virtualenv -p python2.7 --no-site-packages ~/env/twoseven

然后激活您的源:
源 ~/env/twoseven/bin/activate

Move to the project directory :

Create an environment :
virtualenv -p python2.7 --no-site-packages ~/env/twoseven

Then activate your source :
source ~/env/twoseven/bin/activate

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文