python几个工具安装(pyenv,virtualenv,virtualenvwrapper)

202 阅读5分钟

各个工具的说明

以下是我的翻译

pyenv用于隔离Python版本。例如,你可能想要针对Python 2.6,2.7,3.3,3.4和3.5测试您的代码,因此您需要一种方法在它们之间切换。一旦激活,它会将PATH环境变量加上〜/ .pyenv / shims,其中有特殊文件与Python命令(python,pip)匹配。这些不是Python提供的命令的副本;它们是根据PYENV_VERSION环境变量或.python版本文件或〜/ .pyenv/version文件决定运行哪个版本的Python的特殊脚本。 pyenv也使得使用pyenv install命令更容易下载和安装多个Python版本的过程。

virtualenv是python库创建独立环境的工具。如果你对这个工具不熟悉,我强烈建议你学习它,因为它是一个非常有用的工具,我会对这个答案的其余部分进行比较。

它通过在一个目录(例如:env/)中安装一堆文件,然后修改PATH环境变量以在其自定义bin目录(例如:env/bin/)前添加这些文件来工作。 python或python3二进制文件的精确副本放置在此目录中,但是Python会首先在环境目录中查找相对于其路径的库。激活后,您可以使用pip在虚拟环境中安装软件包。

pyenv-virtualenv是pyenv的一个插件,可以让你在同一时间方便地使用pyenv和virtualenv。但是,如果您使用Python 3.3或更高版本,pyenv-virtualenv会尝试运行 python -m venv 如果可用,则替代virtualenv。如果您不想使用便利功能,则可以不使用pyenv-virtualenv 而使用virtualenv和pyenv。

virtualenvwrapper是virtualenv的一组扩展(请参阅文档)。它提供了像mkvirtualenv,lssitepackages这样的命令,特别是在不同virtualenv目录之间切换的工作。如果你想要多个virtualenv目录,这个工具特别有用。

pyenv-virtualenvwrapper 是pyenv的一个插件,和pyenv一样,可以方便地将virtualenvwrapper集成到pyenv中。

pipenv 由Kenneth Reitz(requests的作者)撰写的pipenv是该列表中的最新项目。它旨在将Pipfile,pip和virtualenv结合到命令行中的一个命令中。 virtualenv目录通常放置在〜/ .local / share / virtualenvs / XXX中,其中XXX是项目目录路径的散列。这与virtualenv不同,该目录通常位于当前工作目录中。

原文如下

安装pyenv

mac下安装pyenv

brew install pyenv

修改文件配置.bash_profile.添加如下配置

pyenv配置

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

重启shell。并使配置生效

exec $SHELL source ~/.bash_profile

如果不想使用中出现莫名其妙的问题,可以安装如下程序

需要安装Xcode Command Line Tools和Homebrew

Xcode Command Line Tools安装指令:

xcode-select --install

安装其他可选软件

brew install openssl readline xz

我在没有安装上述软件时指定pyenv install xxx 时出了一个错误,如下

zipimport.ZipImportError: can't decompress data; zlib not available

安装以后解决.

pyenv的常用命令

  • pyenv 安装其他版本的python

pyenv install 2.7.8 pyenv install 3.5.0

  • 卸载特定的Python版本。

pyenv uninstall

  • 显示当前活动的Python版本

pyenv version system (set by /Users/leon/.pyenv/version)

![](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/fb609c69-db6b-42a4-a662-6762beb17c0a/Untitled.png)

  • 查看所有的版本(带星号的表示是当前激活的版本)

pyenv versions

  • system (set by /Users/leon/.pyenv/version) 2.7.8 3.5.0
  • Python的全局设置,整个系统生效

pyenv global 2.7.6

  • Python的局部设置,当前目录生效

pyenv local 2.7.6

安装pyenv-virtualenv

如果将pyenv安装到非标准目录中,请确保将此repo克隆到您安装到的任何位置的“plugins”目录中,默认使用(~/.pyenv)。

下载包到指定目录

git clone [https://github.com/yyuu/pyenv-virtualenv.git](https://github.com/yyuu/pyenv-virtualenv.git) ~/.pyenv/plugins/pyenv-virtualenv

virtualenvs的自动激活,就是当你进入到你自己设置过的Python版本的目录下,自动切换到virtualenvs的模式,此时你的相关命令只在当前virtualenvs下有效果。

修改.bash_profile

echo eval "\$(pyenv virtualenv-init -)"

重启并source后生效

exec \$SHELL sourcec \~/.bash\_profile

pyenv-virtualenv的使用

要为使用pyenv的Python版本创建virtualenv,请运行 pyenv virtualenv,指定所需的Python版本和virtualenv目录的名称。

  • 从当前版本创建virtualenv

pyenv virtualenv venv27

  • 制定版本创建virtualenv

pyenv virtualenv 2.7.13 venv27

pip安装

通过pip安装virtualenv

pip install virtualenv

测试您的安装

virtualenv --version

virtualenv使用

  • 为一个工程创建一个虚拟环境

cd my\_project\_folder virtualenv my\_project

virtualenv my_project 将会在当前的目录中创建一个文件夹,包含了Python可执行文件, 以及 pip 库的一份拷贝,这样就能安装其他包了。虚拟环境的名字(此例中是 my_project ) 可以是任意的;若省略名字将会把文件均放在当前目录。

在任何您运行命令的目录中,这会创建Python的拷贝,并将之放在叫做 my_project 的文件中。

  • 您可以选择使用一个Python解释器(比如python2.7)

virtualenv -p /usr/bin/python2.7 my\_project

或者使用~/.bashrc的一个环境变量将解释器改为全局性的:

export VIRTUALENVWRAPPER\_PYTHON=/usr/bin/python2.7

  • 要开始使用虚拟环境,其需要被激活:

\$ source my\_project/bin/activate

当前虚拟环境的名字会显示在提示符左侧(比如说 (my_project)您的电脑:您的工程 用户名$) 以让您知道它是激活的。从现在起,任何您使用pip安装的包将会放在 ``my_project文件夹中, 与全局安装的Python隔绝开。

像平常一样安装包,比如:

\$ pip install request

  • 如果您在虚拟环境中暂时完成了工作,则可以停用它:

deactivate

这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。

要删除一个虚拟环境,只需删除它的文件夹。(要这么做请执行 rm -rf my_project )

然后一段时间后,您可能会有很多个虚拟环境散落在系统各处,您将有可能忘记它们的名字或者位置。

virtualenvwrapper安装

安装(确保 virtualenv 已经安装了):

pip install virtualenvwrapper

编辑.bash_profile文件

export WORKON\_HOME=\$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh

virtualenvwrapper使用

  • 创建一个虚拟环境:

mkvirtualenv my\_project

这会在 ~/Envs 中创建 my_project 文件夹。

  • 在虚拟环境上工作:

workon my_project

或者,您可以创建一个项目,它会创建虚拟环境,并在 $WORKON_HOME 中创建一个项目目录。 当您使用 workon myproject 时,会 cd -ed 到项目目录中。

mkproject myproject

virtualenvwrapper 提供环境名字的tab补全功能。当您有很多环境, 并且很难记住它们的名字时,这就显得很有用。

workon 也能停止您当前所在的环境,所以您可以在环境之间快速的切换。

  • 停止是一样的:

deactivate

  • 删除:

rmvirtualenv my\_project

其他有用的命令

lsvirtualenv

列举所有的环境。

cdvirtualenv

导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。

cdsitepackages

和上面的类似,但是是直接进入到 site-packages 目录中。

lssitepackages

显示 site-packages 目录中的内容。

pycharm中配置

  • 选择python版本

如图所示,在安装完pyenv以后,我安装了3.5.0和2.7.8版本的python环境,这两个环境都处.pyenv下。另外还有一个是mac系统自带的python环境。可以在此选择需要的python解释器版本。

image.png

  • 创建virtualenv

image.png

image.png

这里的创建相当于命令

pyenv virtualenv 2.7.13 venv27

创建名称为venv27,指定python解释器版本为xxx的虚拟环境。

OK 大功告成

补充