virtualenv创建虚拟环境

virtualenv创建虚拟环境

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

大家好,今天来介绍virtualenv创建虚拟环境(virtualenv虚拟环境下Python包出现了问题)的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!

linux环境下虚拟环境virtualenv的使用

注:Linux下默认未安装pip,需要手动安装pip命令。

安装完成后,可以使用 virtualenv 命令创建放置虚拟戚神环境的目录:

-p PYTHON_EXE, --python=PYTHON_EXE 指岁森定生成的虚拟环境使用的Python解释器:

ENV/lib 和 ENV/include 目录中包含了虚拟环境ENV使用的库文件。在虚拟乎仔亩环境中安装的第三方包会安装在 ENV/lib/python3.4/site-packages 目录下。

ENV/bin 目录里面放置了可执行文件,在里面有新安装的Python 包中的可执行程序,包括pip等相关工具。

默认情况下,虚拟环境会依赖系统环境中的 sit package,就是说系统中已经安装好的第三方 package 也会安装在虚拟环境中,如果不想依赖这些 package,那么可以加上 --no-site-packages 参数建立虚拟环境。

新创建的虚拟环境目录中有一个启动脚本 ENV/bin/activate ,直接使用 source 命令来启动虚拟环境。

退出当前虚拟环境使用 deactivate 命令。

此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,里面有安装步骤,我们照着操作把环境设置好。

设置环境变量

lsvirtualenv : 列出虚拟环境列表(个人喜欢用第二个)
workon+Enter: 列出虚拟环境列表
mkvirtualenv [虚拟环境名称]: 新建虚拟环境
workon [虚拟环境名称]: 切换虚拟环境
rmvirtualenv [虚拟环境名称]: 删除虚拟环境
deactivate: 离开虚拟环境

VIRTUALENV(虚拟环境)

当开发成员负责多个项目的时候,每个项目安装的库又是有很多差距的时候,会使用虚拟环扰岩境将每个项目的环境给隔离开来。比如,在有一个老项目已经开发维护了3年了,里面很多库都是比较老的版本了。例如python使用的是2.7版本的。但是新项目使用的python版本是3.6的。为了解决这种项目执行环境的冲突,所以引入了虚拟环境virtualenv。
  当然除了virtualenv可以起到隔离环境的作用,还有其他技术方案来实现,而烂神且上线流程简单,大大减轻运维人员的出错率,比如每一个项目使用一个docker镜像,在镜像中去安装项目所需的环境,库版本等等。

3.配置python环境和pip环境

注:现在在python的安装文件夹Scripts下就有pip.exe以及easy_install.exe等可执行文件了,就可以使用pip安装啦~

1、安装virtualenv
pip3 install virtualenv
注意:此处需要使用管理员权限,否则会报权限之类的错误。如下图是我切换至管理员权限之后再次执行该命令的界面:

2、创建一个新的虚拟环境
virtualenv --no-site-packages djenv

命令注释:virtualenv -参数 新的虚拟环境的名称

提示:此处缓历御一般需要指定的是-p(python环境地址)和--no-site-packages(不使用本机已经安装的包)。因为我的是默认路径,使用P参数的时候地址报错,就想到直接使用环境变量中的地址。即不指定,忽略-p,如上图猜想成功。下图为标识出需要指定的参数。

3、查看环境中安装的包命令
pip list

pip freeze

进入退出命令

安装virtualenv
apt-get install python-virtualenv
创建包含python3版本的虚拟环境
virtualenv -p /usr/bin/python3 env
env代表创建的虚拟环境的名称

参考

ubuntu 中虚拟环境的搭建

1,安装虚拟环境

命令:

sudo pip install virtualenv

sudo pip install virtualenvwrapper

1,1查看系统中是否安装了virtualenv

virtualenv --version

注:

virtualenv 是一个隔离Python环境的工具.

virtualenv 可以让你在同一个操作系统上建立塌隐卜多个不同的Python环境.

如一个Python2, 另一个Python3, 还有Django1.2 和 Django1.5

项目Python环境互不相同,互不干涉.

virtualenvwrapper是virtualenv的扩展管理包,用于更方便管理虚拟环境,

它可以将所有虚拟环境整合在一个目录下;

管理(新增,删除,复制)虚拟环境;

切换虚拟环境等

2,创建虚拟环境

命令:

# python2中

mkvirtualenv 虚拟环境名称

3 python3中携颤

mkvirtual -p python3 虚拟环境名称

 python2中

 mkvirtualenv 虚拟环境名称

3,(在主环境中)查看虚拟环境

命令:workon  两次团穗tab键

或者 workon  回

4,使用虚拟环境

命令:workon 虚拟环境名称

5,退出虚拟环境

命令:deactivate

6,删除虚拟环境

命令:rmvirtualenv 虚拟环境名称

7,x虚拟环境希望使用到y虚拟环境中所安装的所有的包

步骤:

A:将安装在x虚拟环境中的包导入到一个文件中去,如果在home目录中执行的操作,就到home中找这个文件

pip freeze > output.txt

B:在y虚拟环境中找到这个文件,并进行安装

pip install -r output.txt

C: 等待安装,并检查y虚拟环境中是否已成功安装工具包

pip freeze

python多版本和虚拟环境(pyenv+conda or virtualenv)

2.7.X
3.X
Anaconda2
Anaconda3

pyenv是一个管理各个python版本的管理器。可以在系统里同时保留多个python版本,等需要时定义需要的版本。

项目地址

看项目地址中的readme

查看pyenv可安装的版本列表

安装和卸载指定版本,会将python版本安装在 $(pyenv root)/versions/ 中

查看当前已经安装了的python版本。输出内容中,system关键字是系统python版本。 *表示当前环境所处的版本。

全局切换为anaconda科学计算环境(不建议这么做),做了如果要恢复,则将最后一个参数改为--unset

当前环境接环。在当前目录以睁喊下。如果要恢复,则将最后一个参数改为--unset

本来这是一个单独的软件用来虚拟一个python版本环境,让每个工作环境都有一套独立的python各自的第三方插件互不影响。然而在 pyenv 下有一个插件 pyenv-virtualenv 他可以在 pyenv 的环境下担负起 virtualenv 的事情。(如果使用的是原生python可以用这个工具,如果用的是anaconda则不用这个,用下一章说的conda工具来完成虚拟环境)

项目地址

看项目地址中的readme

在当前目录下创建一个 python 版亏早模本为2.7.1的环境,环境名字为 env271。 这个环境的真实目录位于 ~/.pyenv/versions/

(创建时并不激活)激活当前环境。此时已经进入虚拟环境,在当前环境下所有pip等操作都不会影响系统环境和系统路径。

离开已激活的环境,切换回系统环境。但并没有被删除,下次依旧可以启动。

删除一个环境,当然也可以到真实目录下删除文件夹。

本来不想用这个的,但是因为 pyenv-virtualenv 有一些问题,无法很好的管理conda环境,比如有一些anaconda 自带的一些命令(例如pylint)无法被使用。因此还是老老实实使用 conda 来管理虚拟环境。

conda 是自带于 anaconda 的所以并不需要额外安装,如果在 anaconda 环境中就可以使用。conda 不仅可以进行 环境管理 ,还可以 包管理 ,和对 anaconda和conda 进行 版本升级

由于conda使用方法太多,因此这里罗列一些常用的主要是一些虚拟环境的命令。具体的到 官网文档 去查看一下。

首先conda工具是需要在anaconda环境下的,因此先执行 pyenv local anaconda3-4.2.0 进入anaconda环境后就可以执行conda工具了。

创建一个虚拟环境。可以指定名字,指定包,甚至制定python(这样的话就python版本管理了所以不建议使用,python版本管理交给pyenv),所以命令中 python=x.x 可以不写

罗列已经创建的环境,两条命令是一样的。

激活一个环境。和virtualenv一样,创建不等于激活。激活后才能真正使用虚拟环境。
如果发生错误 Error: activate must be sourced. Run 'source activate envname' 说明activate命令没有找对,导致错误。吧命令改成

这样就能成功建立虚拟环境了。

删除一个虚拟环境。

复制一个虚拟环境。这个是个不错的好功能。

conda还能吧环境配置文件导出,在另一台机器上重新读入配置文件,就能复刻你的环境了。

conda 还能进行包的管理。调用的是 pip 所以也很棒。

查看当前环境已安装包,用-n指定后,就是查看某个环境下的已安装包

为某个指定的环境安装包,升级包,删除包。

它还能升级自身和anaconda和python的版本。

它和pip一样也能设置安装包的镜像位置。其余还销缓有能使用R命令等等,都到官网文档中搜索一下。

mac下Python关于venv 的使用

廖雪峰 virtualenv
Python 项目管理的答昌薯利器:虚拟环境 venv 的使用

virtualenv 用于解决环境依赖而存在,通过 virtualenv 命令可以生成项目的独立依赖环境。
如果本地有多个版本的 Python ,需要对不同版本的 Python 单独安装 virtualenv 。

不清楚管理多个版本 Python 的,可以参考我的另一篇 Mac管理多版本Python

不久之前,重装了系统,发现 system 下的 Python (系统自带的版本)默认没有安装 pip

先安装下 pip ,终端下执行:

安装完毕如下:

安装virtualenv

出现这样的警告:

说是 Python 2.7 将于2020年1月1日结束它的生命。。。
看来 Python3 大势已定。

如果出现这样的错误:

应该是权限问题,根据提示加上 --user 试试。

安装成功:

查看当前 Python 版本: system ,已经安装的库:

新建一个文件夹test,test作为工程文件夹,在该文件夹中创建 venv 环境。
使用virtualenv命令,可以自动创建 venv 环境。

可以发现 virtualenv 已经安装,但是会提示无此命令:

可以再执行一次安装命令清者,终端会提示 virtualenv 的安装路径:

顺着这条路径
/Users/wuxiaoxin/Library/Python/2.7/lib/python/site-packages
可以找到 virtualenv 命令文件所在路径
/Users/wuxiaoxin/Library/Python/2.7/bin/virtualenv
这个命令 virtualenv 可以成功执行。至于为什么安装后不会自动设置环境变量,原因不详。

这时候有两种方式可以尝试下

重启终端,查看 PATH ,发现路径已经成功加到 PATH

测试成功:

这里其实不需要考虑 Python 版本问题, virtualenv 命令已经限定了 Python 版本。
如果你将 .bash_profile 中关于 virtualenv 的路径设置注释掉,重启终端,再执行 virtualenv ,会发现:

现在可以正常使用了:

加上了参数 --no-site-packages ,这样,已经安装到系统 Python 环境中的所有迅并第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的 Python 运行环境。

实测不加这么个参数,直接执行 virtualenv venv 也是一样的效果呢。
如何知道?启动该虚拟环境,在该环境下 pip list 即可一目了然。
比如我的一个虚拟环境安装在这个路径下:
/Users/vampire/Desktop/test3/venv
那么可以这样启动虚拟环境:

如图,已经启动虚拟环境:

如下,test3中使用参数 --no-site-packages ,test4中不使用参数 --no-site-packages ,实测可以看出, --no-site-packages 参数加上和不加上,效果一样:

只有一种可能, --no-site-packages 是默认参数。
终端下执行virtualenv可以看到:

那么 --system-site-packages 就是它的对立参数了,测试下:

可以看到,安装在系统的 Python 环境中的库,也复制到这个虚拟环境中来了。

还需要注意的是这个参数:

可以看出,执行 virtualenv 命令生成的虚拟环境,默认是依据
/usr/bin/python 目录下的 Python 环境。其实也就是当前安装 virtualenv 所属的 Python 的版本。

当前电脑下有两个 Python 环境:

如果这样执行命令,会怎样?

如果是这样限制的话,需要创建源自 python3.7.4 版本的依赖环境,直接使用 pyenv 进行切换即可, virtualenv 不需要带这个参数 --python 了。

假设一个新的 venv 虚拟环境所在的目录如下:
/Users/vampire/Desktop/test/venv
venv 目录中包含如下文件夹:

退出虚拟环境的命令:

终端下先进入该venv环境,再执行 pip install 安装。

一般我们使用 virtualenv 的目的是为了让一个工程拥有独立的依赖环境。
我们会把 virtualenv 生成的环境 venv 放置在工程路径下。
如果我们移动了这个工程的路径, venv 路径也会随之改变,因此注意修改这个命令文件
activate ,打开这个文件,你会发现其实就是 bash shell 脚本,该命令的路径也固定写在其中:

分享到 :
相关推荐

服务器怎么抵御DDOS攻击(服务器怎么抵御ddos攻击)

对付DDoS是一个系统工程。想仅仅依靠某种系统或产品防住DDoS是不现实的。可以肯定...

如何给美国服务器提速(如何给美国服务器提速)

给美国服务器提速的方法:1。升级美国服务器配置资源。例如升级服务器带宽配置。提高网站...

mysql数据库基础知识(零基础学mysql有什么书)

大家好,今天来介绍mysql数据库基础知识的问题,以下是渲大师小编对此问题的归纳和整...

美国cn2服务器推荐(美国cn2gia服务器)

大家好,今天来介绍美国cn2服务器推荐的问题,以下是渲大师小编对此问题的归纳和整理,...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注