资讯专栏INFORMATION COLUMN

python虚拟环境:envirtualevn 、pyevn

ghnor / 907人阅读

摘要:虚拟环境非常有用,因为它可以防止系统出现包管理混乱和版本冲突的问题。为每个应用程序创建一个虚拟环境可以确保应用程序只能访问它们自己使用的包,从而全局解释器只作为一个源且依然整洁干净去更多的虚拟环境。另一个好处是,虚拟环境不需要管理员权限。

https://www.jianshu.com/p/08c...

virtualenv

虚拟环境是在Python解释器上的一个私有复制,你可以在一个隔绝的环境下安装packages,不会影响到你系统中全局的Python解释器。

虚拟环境非常有用,因为它可以防止系统出现包管理混乱和版本冲突的问题。为每个应用程序创建一个虚拟环境可以确保应用程序只能访问它们自己使用的包,从而全局解释器只作为一个源且依然整洁干净去更多的虚拟环境。另一个好处是,虚拟环境不需要管理员权限。

安装
pip install virtualenv
创建虚拟环境
// 到某目录下创建虚拟环境
cd dir
// 创建一个名为myvenv的虚拟环境
// no-site-packages  表示不使用系统环境包
virtualenv --no-site-packages myvenv
等价于
virtualenv myvenv (目前新版默认不使用系统环境包)

// 指定虚拟环境的python版本,环境命名为ENV2.7
virtualenv -p /usr/bin/python2.7 ENV2.7  // 指定虚拟环境的python版本

// python3自带venv,不用安装virtualenv也能运行如下命令
// 创建一个名字为myvenv的虚拟环境
python -m venv myvenv
python -m venv --system-site-packages myvenv
也是默认全新干净的环境,相反可选的参数
使虚拟环境指向系统环境包目录(非复制),在系统环境pip新安装包,在虚拟环境就可以使用。
激活虚拟环境

不同平台的激活命令不一样

Platform     Shell        Command to activate virtual environment

Posix        bash/zsh    $ source dir/bin/activate
             fish        $ . dir/bin/activate.fish
             csh/tcsh    $ source dir/bin/activate.csh


Windows      cmd.exe        C:> dirScriptsactivate.bat
             PowerShell     C:> dirScriptsActivate.ps1
关闭虚拟环境
deactivate
删除虚拟环境
删除目录即可
rm dir_name

virtualenv 能够改变当前的python环境,但是还是无法针对特定的项目运行不同的python版本:

cd project1
python main.py    // 我想用python2 运行project1
cd ../project2
python main.py    // 用python3 运行project2

如何只使用上面的四条命令就让project1和project2运行在不同的python环境中呢?答案是pyenv

pyenv

https://www.jianshu.com/p/a34...

https://github.com/pyenv/pyenv

初识pyenv:一个简单的Python版本管理工具。以前叫做Pythonbrew,Pyenv让你能够方便地切换全局Python版本,安装多个不同的Python版本,设置独立的某个文件夹或者工程目录特异的Python版本,同时创建Python虚拟环境(”virualenv"s“)。所有这些操作均可以在类UNIX系统的机器上(Linux和OS X)不需要依赖Python本身执行,而且它工作在用户层,不需要任何sudo操作。那么我们开始吧!

安装

// 依赖安装
sudo apt-get install libbz2-dev
sudo apt-get install libssl-dev
sudo apt-get install libreadline6 libreadline6-dev
sudo apt-get install libsqlite3-dev

// pyenv安装
见https://github.com/pyenv/pyenv-installer
pyenv install -list // 显示所有能够安装的python版本
pyenv versions    // 显示本机器中pyenv已经安装的python版本,默认有system版本
pyenv install 3.4.0   // 安装某版本的python
pyenv global 3.4.0   // 使某版本成为全局python环境版本
pyenv global system  // 恢复至以前的版本

cd project1
pyenv local 3.4.0 //设置当前目录的python版本
python -V //显示3.4

cd ../project2
pyenv local system // project2 为系统版本

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44574.html

相关文章

  • python虚拟环境

    摘要:什么是虚拟环境特有的一种软件环境创建多个环境,各个环境之间完全隔离,互不影响。在虚拟环境中安装的第三方包会安装在目录下。退出环境退出当前虚拟环境使用命令。 什么是虚拟环境 python特有的一种软件环境,创建多个python环境,各个环境之间完全隔离,互不影响。它可以用来解决Python项目开发和运行过程中的依赖项和版本问题,而不必和其他项目的Python环境以及全局的Python环境...

    Chaz 评论0 收藏0
  • 如何管理你下载的一大堆Python包【❤️win环境及linux环境下创建虚拟环境详解❤️】

    引入—— 解决两个在python开发中很常见的问题: Python很万能,这谁都知道(我也知道哈),但这就意味着——Python的库多,是真的多!你要用哪个库,就直接下载!pip install!很简单吧,是很简单!但是,这样会很直接的带来一个问题,也是很多新手容易犯得——你一看他的Python环境,全是第三方包,密密麻麻的,甚至于开个pycharm,加载第三方包都得加载半年,他还不知道为啥(傻...

    phoenixsky 评论0 收藏0
  • python 虚拟环境搭建

    摘要:设置步骤根据需要,设置不同版本的虚拟环境,本文以为例。这是为什么呢这一点是为了在的虚拟环境中使用。使用了一段时间虚拟环境的我觉得这项操作十分的人文关怀,绕开了那些乱七八糟的环境和版本。 写这篇的原因是在使用 python 的过程中,陆续安装了 python2.7、python3.6、python3.7 的版本,区分 python2 和 python3 还好,而更新到 python3.7...

    makeFoxPlay 评论0 收藏0
  • python基础教程:虚拟环境

    摘要:不同虚拟环境内部的库版本涉及不会影响其它虚拟环境。接着,编辑,写入一下配置了配置虚拟环境的根目录的英文为了使以上配置生效,运行命令这时候,命令行里面就有了命令。 我们在写的Python程序的时候,经常会用到非标准库的包和模块,比如要求等非常有用的第三方包和模块。有时候也会用到某个包和模块的特定版本,可能是这个特定的版本修复了某个bug,或者是依赖的接口只有该版本有。也可能系统安装了Py...

    xiangzhihong 评论0 收藏0
  • 搭建Python虚拟环境

    摘要:为每个程序单独创建虚拟环境可以保证程序只能访问虚拟环境中的包,从而保持全局解释器的干净整洁,使其只作为创建更多虚拟环境的源。 说明 虚拟环境是 Python解释器的一个私有副本,在该环境中可安装私有包,且不会影响系统中安装的全局 Python解释器 虚拟环境非常有用,可以在系统的Python解释器中避免包的混乱和版本的冲突。为每个程序单独创建虚拟环境可以保证程序只能访问虚拟环境中的包,...

    hedzr 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<