python版本管理 — pyenv

前言

python平时用的少,主要是用来写一点脚本,测试用。

python是不向前兼容的,挺好。但是,有时候,需要在不同python版本之间切换有点麻烦。

使用python有两个地方的版本需要注意。其一是,不同python版本之前的切换。其二是,相同python版本,依赖包不同版本之前的切换。

我找了找,感觉pyenv最好用。

想要不同版本的python — pyenv

参考连接:

安装 pyenv

curl https://pyenv.run | bash

WARNING: seems you still have not added 'pyenv' to the load path.

# Load pyenv automatically by appending
# the following to 
# ~/.bash_profile if it exists, otherwise ~/.profile (for login shells)
# and ~/.bashrc (for interactive shells) :

export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# Restart your shell for the changes to take effect.

# Load pyenv-virtualenv automatically by adding
# the following to ~/.bashrc:

eval "$(pyenv virtualenv-init -)"

配置bashrc

# 根据上面的输出提示,如果使用的是bash,将下内容加入~/.bashrc
# 然后重新加载bash
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

pyenv使用

pyenv -h

# 列出可安装的python版本
pyenv install --list

# 安装指定的3.6.8版本
## 不要禁用ipv6,要不然后面使用可能会遇到问题
## https://github.com/pyenv/pyenv/issues/430
## PYTHON_CONFIGURE_OPTS="--disable-ipv6" proxychains pyenv install 3.6.8
## https://github.com/pyenv/pyenv/issues/2141
## CC=clang PYTHON_CONFIGURE_OPTS="--disable-ipv6" proxychains pyenv install 3.6.8
## 安装一些编译python需要的依赖库
## apt install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev libffi-dev liblzma-dev
## dnf install libsqlite3x-devel libffi-devel bzip2-devel ncurses-devel readline-devel
CC=clang pyenv install 3.6.8

# 列出当前所有可用的python版本
pyenv versions
* system (set by /root/.pyenv/version)
  3.6.8

# 切换python版本
pyenv shell 3.6.8

# 创建虚拟环境
pyenv help virtualenv
pyenv virtualenv 3.6.8 python36

# 列出当前的虚拟环境
pyenv virtualenvs
  3.6.8/envs/python36 (created from /root/.pyenv/versions/3.6.8)
  python36 (created from /root/.pyenv/versions/3.6.8)

## 可以看到pip版本也切换了
pip --version
pip 18.1 from /root/.pyenv/versions/3.6.8/envs/python36/lib/python3.6/site-packages/pip (python 3.6)

## 安装包
pip install scapy

## 查看包的位置
pip show scapy
Name: scapy
Version: 2.5.0
Summary: Scapy: interactive packet manipulation tool
Home-page: https://scapy.net
Author: Philippe BIONDI
Author-email: guillaume@valadon.net
License: GPL-2.0-only
Location: /root/.pyenv/versions/3.6.8/envs/python36/lib/python3.6/site-packages
Requires: 
Required-by: 

# 激活虚拟环境
pyenv activate python36

# 退出虚拟环境
pyenv deactivate

# 删除虚拟环境
pyenv virtualenv-delete python36

更多阅读

分不清这些。pyenv已经挺好用的了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇