en
https://github.com/pyenv/pyenv
Pyenv允许您为单个用户管理多个Python版本而无需sudo,就像Node.js NVM和Ruby RVM一样。
安装Pyenv:
curl https://pyenv.run | bash
然后添加到您的.bashrc
:
export PATH="${HOME}/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
查找要安装的Python版本:
pyenv install --list
安装所需的python版本:
# Increase the chances that the build will have all dependencies.
# https://github.com/pyenv/pyenv/wiki/Common-build-problems
sudo apt build-dep python3
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
# Build and install a Python version from source.
pyenv install 3.8.0
列出可用的Python版本:
pyenv versions
现在,我们有:
* system (set by /home/cirsan01/.pyenv/version)
3.8.0
选择其他python版本:
pyenv global 3.8.0
python --version
python3 --version
两种输出:
Python 3.8.0
现在,我们可以继续正常安装和使用软件包了:
pip install cowsay
python -c 'import cowsay; cowsay.tux("Python is fun")'
cowsay 'hello'
我们可以通过以下方法确认所有内容均已本地安装在干净的环境中:
python -c 'import cowsay; print(cowsay.__file__)'
which cowsay
每个项目的使用
在上一节中,我们了解了如何在全局设置中使用pyenv。
但是,您通常希望基于每个项目设置特定的python和软件包版本。这是怎么做的。
首先像以前一样安装所需的Python版本。
然后,在您的项目目录中,使用以下命令设置所需的python版本:
pyenv local 3.8.0
这将创建一个.python-version
包含版本字符串的文件。
现在让我们在本地为我们的项目安装一个软件包:TODO:似乎没有很好的方法:https : //stackoverflow.com/questions/30407446/pyenv-choose-virtualenv-directory/59267972#59267972
现在,当有人要使用您的项目时,他们将执行以下操作:
pyenv local
将Python版本设置为正确的版本。
相关主题:
在Ubuntu 18.04,pyenv 1.2.15上测试。