Home  >  Article  >  Backend Development  >  Share the pyenv method of Python multi-version coexistence management tool

Share the pyenv method of Python multi-version coexistence management tool

高洛峰
高洛峰Original
2017-03-15 15:05:561594browse

Table of Contents

[TOC]

We often encounter this situation:

The Python that comes with the system is 2.6, you need it Some features in Python 2.7;

The system comes with Python 2.x, and you need Python 3.x;

At this time, you need to install it in the system Multiple Python, but it cannot affect the Python that comes with the system, that is, it is necessary to realize the coexistence of multiple versions of Python. pyenv is such a Python version manager.

1. Install pyenv

$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ exec $SHELL -l

2. Install Python

View the installable versions

$ pyenv install --list

This command will list the Pythons that can be installed with pyenv Versions, just to name a few:

2.7.8 # Python 2 latest version
3.4.1 # Python 3 latest version
anaconda-2.0.1 # Supports Python 2.6 and 2.7
anaconda3 -2.0.1 # Support Python 3.3 and 3.4
Among them, those with only version numbers such as x.x.x are the official Python versions, and others with both names and versions such as xxxxx-x.x.x are "derivatives" or distribution.

2.1 Install Python's dependency packages

When installing Python, you need to first install other software packages that it depends on. Some of the known libraries that need to be pre-installed are as follows.

Under CentOS/RHEL/Fedora:

sudo yum install readline readline-devel readline-static
sudo yum install openssl openssl-devel openssl-static
sudo yum install sqlite-devel
sudo yum install bzip2-devel bzip2-libs

2.2 Install the specified version

Use the following command to install python 3.4.1:

$ pyenv install 3.4.1 -v

The The command will download the python source code from github, extract it to the /tmp directory, and then perform the compilation work in /tmp. If the dependent package is not installed, a compilation error will occur, and you need to re-execute the command after installing the dependent package.

For scientific research environments, it is more recommended to install the Anaconda distribution specially prepared for scientific computing. pyenv install anaconda-2.1.0 installs the 2.x version, and pyenv install anaconda3-2.1.0 installs the 3.x version;

Anacoda is very large, and downloading with pyenv will be slower. You can download it yourself from the Anaconda official website, and put the downloaded file in the ~/.pyenv/cache directory, then pyenv will not The download will be repeated.

2.3 UpdateDatabase

After the installation is complete, the database needs to be updated:

$ pyenv rehash

View the currently installed python version

$ pyenv versions
* system (set by /home/seisman/.pyenv/version)
3.4.1

The asterisk indicates that the python that comes with the system is currently being used.

2.4 Set the global python version

$ pyenv global 3.4.1$ pyenv versions
system
* 3.4.1 (set by /home/seisman/.pyenv/version)

The asterisk indicates that the system’s own python is currently being used.

2.4 Set the global python version

$ pyenv global 3.4.1$ pyenv versions
system
* 3.4.1 (set by /home/seisman/.pyenv/version)

The current global python version has become 3.4.1. You can also use pyenv local or pyenv shell to temporarily change the python version.

2.5 Confirm python version

$ python
Python 3.4.1 (default, Sep 10 2014, 17:10:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.>>>

3.0 Use python

Enter python to use the new version of python;
The system's own script will directly call the old version of python in /usr/bin/python, so it will not affect the system script;
When you use pip to install third-party modules, they will be installed under ~/.pyenv/versions/3.4.1 and will not conflict with system modules.
After using pip to install the module, you may need to execute pyenv rehash to update the database;


The above is the detailed content of Share the pyenv method of Python multi-version coexistence management tool. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn