python激活虚拟环境activate怎么用(python2虚拟环境)
pycharm创建虚拟环境没有生效
首先,确保你已经安装了一个python解释器。
如果你配置了环境变量,可以去命令行下试试能不能正确使用,如下:
C:\Users\程序员的一天python Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
如果你没配置环境变量,在终端下可以直接去到你的安装路径下,运行python,如下:
E:\soft\python\python39\installpython Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
保证正确安装python解释器后 ,pycharm中配置python环境:
首先,点击file - setting,进入到配置窗口,
然后,点击Project下的Python Interpreter ,右边窗口下拉箭头,点击Show All
点击加号:
点击Virtualenv Environment,配置虚拟环境即可。
Location是你保存虚拟环境的目录位置。
Base interpreter是你安装的python,选到对应的python.exe即可。
最后单击OK。
如果正确配置的话,在这里可以看到你的python解释器
9、Python虚拟环境
(1)安装虚拟环境
1.安装virtualenv, 控制台使用命令:pip install virtualenv
2.创建一个以后存放虚拟环境的目录如d:\envs, 可在控制台使用命令d: 回车,mkdir envs
3.创建虚拟环境,控制台输入命令 :virtualenv 文件夹名
4.进入虚拟环境cd 虚拟环境的Scripts, 然后使用命令activate,虚拟环境的名称被小括号括起来,并且出现在最前面说明成功进入虚拟环境
5.进入虚拟环境以后可以安装第三方包(库),使用命令 pip install ..., 出现successfully则表示安装成功
6.如何验证安装的程序是否成功:
-》python 命令进入python shell环境检测
-》import 包(架)名
没有报错,导入包成功,则表明安装成功
7.退出虚拟环境 deactivate.bat, 最前面有小括号的虚拟环境就没有了
如果当时在python shell环境,则需要现在用quit()/exit()退出
(2)虚拟环境切换 Virtualenvwrapper
1.安装virtualenvwrapper,使用命令 pip install virtualenvwrapper-win
2.配置管理虚拟环境的位置,系统环境变量
变量名: WORKON_HOME
变量值:虚拟环境路径
3.虚拟环境自由切换:workon vname
注:3.7以上python目前不兼容。
(3)pychaml中导入虚拟环境
1.打开Pycharm,然后依次点击左上方的file-Settings
2.之后依次Project-Project Interpreter
3.点击右上方的设置按钮,然后点击Add
4.在弹出的Add Python Interpreter页面中,依次选择Virtualenv Environment(虚拟环境)-Existing environment
5.之后在弹出的界面中加载本地的虚拟环境,点击右侧的三个点号的按钮
6.根据目录,依次找到自己创建的虚拟环境路径,我的路径是I:-Virtual_environment_list-Scripts-python.exe,点击OK按钮
可以用于解决需要使用不同版本python的开发问题。
3.创建python(必须是本机已安装版本) :
4.进入虚拟环境:
5.在虚拟环境中安装模块:
6.退出pipenv的虚拟环境:
7.查看我所在的位置:
8.显示所在的位置:
9.查看一个目录依赖于哪些目录:
10.查看可用的程序:
11.删除虚拟环境中所有已安装模块,且不编辑Pipfile.lock,删除完用pipenv install能重新安装:
12.删除一个已安装模块,且从Pipfile.lock中删除:
13.删除虚拟环境:
python创建虚拟环境的方法?
12.2. 创建虚拟环境
用于创建和管理虚拟环境的脚本叫做 pyvenv。pyvenv 通常会安装你可用的 Python 中最新的版本。这个脚本也能指定安装一个特定的版本的 Python,因此如果在你的系统中有多个版本的 Python 的话,你可以运行 pyvenv-3.5 或者你想要的任何版本来选择一个指定的 Python 版本。
要创建一个 virtualenv,首先决定一个你想要存放的目录接着运行 pyvenv 后面携带着目录名:
pyvenv tutorial-env
如果目录不存在的话,这将会创建一个 tutorial-env 目录,并且也在目录里面创建一个包含 Python 解释器,标准库,以及各种配套文件的 Python “副本”。
一旦你已经创建了一个虚拟环境,你必须激活它。
在 Windows 上,运行:
tutorial-env/Scripts/activate
在 Unix 或者 MacOS 上,运行:
source tutorial-env/bin/activate
(这个脚本是用 bash shell 编写的。如果你使用 csh 或者 fish shell,你应该使用 activate.csh 和 activate.fish 来替代。)
激活了虚拟环境会改变你的 shell 提示符,显示你正在使用的虚拟环境,并且修改了环境以致运行 python 将会让你得到了特定的 Python 版本
用于创建和管理虚拟环境的脚本叫做 pyvenv。pyvenv 通常会安装你可用的 Python 中最新的版本。这个脚本也能指定安装一个特定的版本的 Python,因此如果在你的系统中有多个版本的 Python 的话,你可以运行 pyvenv-3.5 或者你想要的任何版本来选择一个指定的 Python 版本。
要创建一个 virtualenv,首先决定一个你想要存放的目录接着运行 pyvenv 后面携带着目录名:
pyvenv tutorial-env
如果目录不存在的话,这将会创建一个 tutorial-env 目录,并且也在目录里面创建一个包含 Python 解释器,标准库,以及各种配套文件的 Python “副本”。
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
python 虚拟环境与包安装
随着python项目越来越多很容易出现库的混乱、污染,那么一个隔离的虚拟环境将使不同的项目互不干扰提高开发效率。
谨以此文作为个人安装笔记方便以后查阅。
安装虚拟环境库: virtualenv
在磁盘中创建一个文件夹用于存虚拟环境安装文件: D:\virtualenv
然后切换到该目录下,安装虚拟环境:
执行完命令之后,会自动生成一个 env 文件夹,里面包含了python所需的新解析环境
注意:
安装完虚拟环境之后还需要激活才可以使用,进入文件夹: D:\virtualenv\env\Scripts
命令行下直接输入:activate 或者 activate.bat
激活成功之后可以看到命令行多了一个 (env) 的前缀
关闭虚拟环境同样需要进入文件夹: D:\virtualenv\env\Scripts
命令行下直接输入:deactivate 或者 deactivate.bat
关闭之后可以看到命令行 (env) 的前缀取消了
为了便于在另一台电脑复刻当前python的库环境,可以使用pip的 freeze 的选项导出当前使用的所有库信息到 requirements.txt 中,
切换电脑时只需重新按文件安装库即可:
注意:
安装时需要确认当前所属环境的。假如是虚拟环境,则需要确保已激活。
【参考资料】
虚拟环境详解
? ?? 假想您有一个应用程序需要版本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下,虚拟环境目录\Scripts\activate.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,--always-copy,默认False,True的行为:尝试使用副本
?? 推荐还是使用默认的吧,除非出现错误,可以指定--with-traceback进行错误调试。
?? virtualenv还可以通过查找标准ini配置文件进行配置,ini配置文件具体位置取决于你使用的操作系统, 由platformdirs应用程序配置,可以查看。?
虚拟环境就介绍到这里了,虚拟环境的本质就是修改shell的PATH环境变量,如果你有这方面的想法,你也可以编写一个实现虚拟环境的工具,当然,完全没有这个必要,真的,没什么意思。