推广 热搜: 让人  产品  面板  哪有  牛奶  也就  显示器  站在  关系  爸爸 

venv 、venvcia

   日期:2023-04-06     浏览:25    评论:0    
核心提示:venv文件夹怎么变成橙色venv文件夹变成橙色解决方法如下。1、选择工具栏中的Navigate。2、选项Navigate中的showin选项即可修改。python3 venv 虚拟环境使用方法 py

venv文件夹怎么变成橙色

venv文件夹变成橙色解决方法如下。

1、选择工具栏中的Navigate。

2、选项Navigate中的showin选项即可修改。

python3 venv 虚拟环境使用方法

python3默认安装了venv虚拟环境,所以直接使用即可

1.创建虚拟环境

在cmd命令行下执行

python -m venv 英文格式的虚拟环境目录名称

创建以后在对应的文件夹可以看到如下文件:

2.激活需要环境:

注意:只有激活之后,才算进入该虚拟环境,否则安装包时,依然是安装在全局环境之下

激活文件在script文件夹下,如图所示。激活:activate.bat,退出:deactivate.bat

激活方式为:dos 界面进入pyton虚拟环境文件夹/script,然后输入activate.bat (也可直接输入activate)即可激活环境,输入python 就进入python3.6环境了。

退出方式:输入deactivate.bat 或 deactivate

ubuntu 下创建python环境

Ubuntu中使用python3中的venv创建虚拟环境

以前不知道Python3中内置了venv模块,一直用的就是virtualenv模块,venv相比virtualenv好用不少,可以替代virtualenv

一、安装venv包:

pre$ sudo apt install python3-venv/pre

二、创建虚拟环境

首先创建一个项目文件夹,虚拟环境将会安装在项目文件夹下,我这里使用的项目文件夹是myproject,进入mypeoject文件夹,执行命令:

pre$ python3 -m venv venv/pre

这时虚拟环境就创建好了,默认是Python3的环境

三、激活虚拟环境

在项目文件夹下,执行activate文件激活虚拟环境

presource venv/bin/activate/pre

四、创建项目

可以看到项目文件夹下除了venv的虚拟环境文件,没有项目文件,可以使用pip工具安装任何你需要的框架,比如flask、django

五、退出虚拟环境

predeactivate/pre

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/wu***xin/Library/Python/2.7/lib/python/site-packages

可以找到 virtualenv 命令文件所在路径

/Users/wu***xin/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 脚本,该命令的路径也固定写在其中:

虚拟环境详解

     假想您有一个应用程序需要版本1的numpy库,而另一个应用程序需要版本2。如何使用这两个应用程序呢?2.如果您将所有内容安装到python3.6的site-packages,很容易出现这样的情况:您无意中升级了不应该升级的。3.如果要使写的项目正常运行,其所依赖的第三方库的版本更改都可能让这个项目无法正常运行。另外,如果您无法将第三方库安装到全局site-packages目录下,该怎么办呢?例如,在共享主机上。

    我们必须考虑到这些场景,所以虚拟环境诞生了!它们有自己的安装目录,并且不与其他虚拟环境共享库,每个虚拟环境都是独立的!

     目前,有两种用于创建python虚拟环境的两种工具:

           1.venv在python3.3及更高版本中默认可用,并将pip和setuptools安装到创建的虚拟环境中(这种行为只在python3.4及更高版本才会出现)。由于我最近没有时间,我准备在之后的两篇文章中介绍pip和setuptools。

           2.而virtualenv需要单独安装。其在python2.7+和python3.3+中默认可用,pip,setuptools和wheel始终安装到创建的虚拟环境中(此行为忽略python版本!)

     venv模块支持创建轻量级虚拟环境,该环境具有自己的site-packages,可以选择与系统site-packages隔离。每个虚拟环境都有自己的python二进制文件(与用于创建此环境的二进制文件的版本相匹配),并且可以在其site-packages中安装自己的独立python包。

     通过venv命令创建虚拟环境:python3 -m venv /path/virtual/env。运行此命令将创建目标目录(行为为创建任何尚不存在的父目录)并创建一个pyvenv.cfg文件,文件中的home指向运行该命令的python的安装目录。它还创建一个bin(在Windows上是scripts)子目录,其中包含python二进制文件、二进制文件的符号链接、副本(平台和参数不同,创建的东西也不同)。它还创建一个最初为空的lib/pythonX.Y/site-packages子目录(在Windows上,这是Lib/site-packages)。如果指定了现有目录,则将重新使用现有目录。

     不要双击虚拟环境下的python.exe,这样它会忽略虚拟环境。创建的pyenv.cfg文件中的include-system-site-packages默认为false,如果使用了include-system-site-packages选项,则设置为true。除非给出了--without-pip选项,否则将调用ensurepip将pip引导到虚拟环境中。可以为venv提供多条路劲,在这种情况下,将根据给定的选项在每个提供路劲上创建相同的虚拟环境。创建虚拟环境后,可以使用虚拟环境二进制目录中的脚本激活虚拟环境。脚本调用是特定于平台的。在Windows下,虚拟环境目录scriptsactivate.bat激活虚拟环境。当虚拟环境处于活动状态时,VIRTUAL_ENV环境变量将设置为虚拟环境的路劲,这可用于检查是否运行在虚拟环境中。指的注意的是,你不需要特别激活虚拟环境,激活只是将虚拟环境的二进制目录前置到运行shell的PATH环境变量,以便python调用虚拟环境的python解释器,你可以运行已安装的脚本,而无需使用它们的完整路劲。但是,安装在虚拟环境中的所有脚本都应该可以在不激活它的情况下运行,并自动使用虚拟环境下的python运行。你可以通过在shell中输入"deactive"命令来停用虚拟环境。 

      当虚拟环境处于活动状态(即,虚拟环境的python解释器正在运行时),属性sys.prefix和sys.exec_prefix指向虚拟环境的基本目录。而sys.base_prefix和sys.base_exec_prefix指向用于创建虚拟环境的python安装目录。如果虚拟环境未处于活动状态,则sys.prefix和sys.base_prefix,sys.exec_prefix和sys.base_exec_prefix都指向非虚拟环境的python安装目录。安装到虚拟环境中的脚本有一行"shebang",它指向虚拟环境的python解释器。这意味着脚本将与该解释器一起运行,而与PATH的值无关。   

       可以使用下列API根据需要定制虚拟环境:

            venv.EnvBuilder( system_site_packages=False , clear=False , symlinks=False , upgrade=False , with_pip=False , prompt=None , upgrade_deps=False )

             system_site_packages:指示系统site_packages是否可供虚拟环境使用。 

             clear:如果为True,将在创建虚拟环境之前删除任何现有目标目录的内容

             symlinks:指示是否尝试对python二进制文件进行符号链接而不是复制

              upgrade:如果为True,则将更新升级python现有环境,这个选项用于在python已升级到位时使用

              with_pip:如果为True,则确保在虚拟环境中安装pip

              prompt:激活虚拟环境后要使用的字符串(默认为None,这意味着将使用环境的目录名)。如果是".",当前目录用作提示

              upgrade_deps:将基本venv模块更新到pypi上的最新版本  

返回的EnvBuilder对象,有以下方法:

          craete(envdir),通过指定要包含虚拟环境的目标目录,创建虚拟环境。

ensure_directories( env_dir ),创建环境目录和所有必要的目录,并返回一个上下文对象,这个上下文对象供其他方法使用。

create_configuration(context),在虚拟环境下创建pyenv.cfg配置文件

setup_python( context ),在虚拟环境下创建python可执行文件的拷贝或符号链接,在POSIX系统上,如果python3被使用,创建指向该可执行文件的python和python3符号链接(除非它们已经存在)

setup_scripts( context ),将适合平台的激活脚本安装到虚拟环境中。

upgrade_dependencies( context ),升级虚拟环境中的核心venv依赖项包(当前为pip和setuptools)。

post_setup( context ),可在第三方实现中重写。以在虚拟环境中预安装软件包步骤之后 ,进行自定义的操作

我在想还是先略过他们吧,定制一个venv实在是没有必要,因为虚拟环境的创建还有一个更强大的工具。

下面我们来介绍venv的几种命令参数,相信看了前面,现在看到便不会看不懂了!

  --system-site-packages,允许虚拟环境访问系统site-packages目录

  --symlinks,在符号链接不是平台的默认操作时,仍然尝试使用符号链接,而不是拷贝

  --copies,即使符号链接是平台的默认操作,也尝试使用拷贝

  --clear,在创建虚拟环境之前删除任何现有目标目录的内容

  --upgrade,将虚拟环境下的python可执行文件升级到运行脚本的python版本

  --without-pip,不再虚拟环境下安装或升级pip

  --prompt prompt,将PROMRT作为此虚拟环境下的提示前缀

  --upgrade-deps,升级核心依赖项(pip和setuptools)

     virtualenv是一种需要python解释器才能运行的命令行工具。如果你已经有了python3.5+解释器,那么***使用pipx将virtualenv安装到一个隔离的环境中(好处:以后您升级virtualenv的时候不会影响到系统的其他部分) 

     virtualenv有一个基本命令:virtualenv env,virtualenv将创建一个与其版本相同的python虚拟环境,并将虚拟环境安装到子目录env中。 

     virtualenv主要是一个命令行应用程序。它的主要作用是修改命令行中的环境变量以创建一个独立的python环境,因此你需要一个命令行来运行它。所有选项都有合理的默认值,并且有一个必须的参数(创建的虚拟环境的路劲)。  下面列出了可以传递给virtualenv的选项及其默认值和简短说明。

    --version,显示virtualenv软件包的版本及其位置,然后退出。

    --with-traceback,默认值为False,True的行为:失败会显示virtualenv内部的堆栈跟踪

    --read-only-appdata,默认值为False,True的行为:以只读模式使用appdata文件夹(virtualenv用作缓存的数据文件夹)(不允许写入操作,写入操作将失败并报错)

    --app-data,指定virtualenv用作缓存的数据文件夹

    --reset-app-data,默认值为False,True的行为:将appdata文件夹清空

    -p,--python:指定virtualenv要安装的python可执行文件。默认情况下使用安装环境的python解释器

    --try-first-with:在开始查找之前,请先尝试这些解释器

    --clear,默认值为False,True的行为:在启动之前删除目标目录

    --system-site-packages,默认为False,True的行为:允许虚拟环境访问系统site-packages目录

    --symlinks,默认为True,True的行为: 尝试使用symlinks而不是拷贝

    --copies,--alw***s-copy,默认False,True的行为:尝试使用副本

   推荐还是使用默认的吧,除非出现错误,可以指定--with-traceback进行错误调试。

   virtualenv还可以通过查找标准ini配置文件进行配置,ini配置文件具***置取决于你使用的操作系统, 由platformdirs应用程序配置,可以查看。 

虚拟环境就介绍到这里了,虚拟环境的本质就是修改shell的PATH环境变量,如果你有这方面的想法,你也可以编写一个实现虚拟环境的工具,当然,完全没有这个必要,真的,没什么意思。

关于venv和venvcia的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

原文链接:http://www.dtcchina.com/news/show-8504.html,转载和复制请保留此链接。
以上就是关于venv 、venvcia全部的内容,关注我们,带您了解更多相关内容。
 
标签: 环境 文件夹 版本
打赏
 
更多>同类资讯
0相关评论

推荐资讯
网站首页  |  VIP套餐介绍  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  手机版  |  SITEMAPS  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报