python创建虚拟环境的命令(python3·7创建虚拟环境)
【Python入门】37.常用第三方模块之 创建虚拟环境virtualenv
摘要:virtualenv可创建独立的虚拟运行环境,解决了不同应用项目间多版本的不兼容问题。
常用第三方模块
virtualenv
安装virtualenv
创建虚拟环境
使用virtualenv
小结
virtualenv 用于创建Python的虚拟环境。当一个项目需要运行的版本与系统所带的版本不一致,就需要创建一个该项目的独立运行环境,确保项目正常运行。
比如现在要做一个Django项目,用到的Django是1.8版本,但系统的Django版本已经更新到1.11了,如果用系统的环境来运行项目就会有不兼容的情况出现,那么就需要创建虚拟环境来解决。
Linux系统和Windows系统使用virtualenv略有不同。
下面介绍的是在 Windows系统 下如何使用virtualenv。
在命令行模式下输入:
等待安装成功即可。
首先通过cd命令进入需要创建虚拟环境的文件目录,如在D盘的envs文件夹里面
然后通过 virtualenv 创建一个虚拟环境,我们将它命名为 new_env
然后会看到下面结果:
说明成功使用当前系统的Python版本创建了一个虚拟环境。
通过cd命令进入虚拟环境目录下的Scripts目录
然后输入 activate
会出现下面的结果:
地址前面的括号表示,当前环境是Python创建的虚拟环境 new_env 。
输入 python ,可查看当前环境的Python版本
输入 pip list ,可查看当前环境下包含的库的版本
在虚拟环境下,用pip安装的所有包都会装在 new_env 环境下,系统Python环境不受影响。这样,我们就可以安装运行项目所需要的工具版本了,
最后,使用 deactivate 命令退出虚拟环境
virtualenv可创建独立的虚拟运行环境,解决了不同应用项目间多版本的不兼容问题。
以上就是本节的全部内容,感谢你的阅读。
下一节内容:图形界面
有任何问题与想法,欢迎评论与吐槽。
和博主一起学习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项目创建虚拟环境
我们在开始一个python项目,而不是几行简单的代码时,我们倾向于开始使用第三方的dependencies.当项目越来越大时,我们需要考虑如何有效的管理这些第三方库。当安装第三方库时,我们肯定是想安装在虚拟环境中。帮助我们保持我们实际系统环境的干净,避免打乱整个系统python环境。
我们可以使用pip把第三方库安装到python项目中。一个项目中往往要安装多个,鉴于安装的第三方库的各种版本,可能会导致一些兼容和运行的问题。
当我们在python项目中使用pip install ,我们是安装到全局python下的,将会根据现有的python版本安装第三方包。
我们可以通过以下命令来查找python的安装目录:
如果我们使用pip3 install ,将会安装到python3安装目录的单独的目录下。我们可以用以下命令来覆盖pip3这个命令:
但是这仍然解决不了我们在全局python下安装第三方库的问题,将会出现下列的问题:
为了避免以上的问题,python开发者使用虚拟环境。这个虚拟环境把安装的这些第三方库在一个隔离的环境中(目录内)保存。
确保你的系统上已经安装python
然后看一下pip是否也能正常调用
我们需要一个工具来创建python的虚拟环境,venv。它是封装在python3.3+版本以上的python中的。
如果我们使用python2,我们需要手动安装一个工具。这是为数不多的一个我们需要全局安装的第三方库。
注意:我们将会在文章中讨论很多venv和python3,操作系统环境不同,可能会导致某些命令的些许不同,某些工具的工作原理也些许不同。
如果你的系统上没有安装pip:
我们首先要为项目创建一个文件夹,并进入这个文件夹:
然后我们再创建虚拟环境:
这将会创建一个名为virtualenv的目录,这个目录将会包含bin、lib、include文件夹,还有一个环境配置文件。
所有的文件都是为了确保,所有的代码都运行在当前的虚拟环境下。这会帮我们把工作环境和操作系统环境隔离开来,避免我们之前提到的问题。
为了使用这个虚拟环境,我们需要激活它。激活以后,还会更改我们的命令提示符标志。这个标志也是为了表明虚拟环境已经激活,python的代码都是在这个环境下执行。
在虚拟环境下,无法访问使用全局的第三方库,在虚拟环境内安装的库也无法在外部使用。
在虚拟环境中,只有pip和setuptools是默认安装的。
激活虚拟环境后,变量path也会相应地发生改变,以达到虚拟环境的目的。
当我们完成工作,想切换回操作系统的全局环境,我们需要使用deactivate退出虚拟环境。
我们配置了虚拟环境并激活以后,我们不想在分享项目时,连同使用pip install命令安装的第三方库也一起分享。我们想去除我们的虚拟环境文件夹,但仍然可以在其他的电脑或系统上重新运行我们的工作。
为实现这个目的,我们可以在项目根目录下创建一个requirement文件。假设我们在虚拟环境下安装flask,安装完成后我们使用pip freeze命令。它将会列出我们已经安装过的库名和版本号。
我们可以将这个列表写到requirement文件中,上传到git保存,或以任何形式跟他人分享。
这个命令也可以更新这个requirements.txt文件,所以在每次安装一个新的第三方库时,我们都习惯性的运行一下这个命令,来更新我们的安装列表。
然后,如果任何人想在他们的电脑上运行我们的项目,他们只需要做:
所有的一切都如在我们电脑上运行的一样。
安装pipenv
pipenv基本上是pip的一个替代工具。它引入了两个文件,pipfile用来替换requirements.txt,Pipfile lock(which enables deterministic builds,确定第三方库的子依赖库版本的更新的解决方案)
pipenv在机理上是运行pip和virtualenv,但使用一个命令来简化操作。
安装第三方库,如flask,或numpy
也可以从Version Control system比如git来安装第三方库
需要注意上面的-e参数可以使安装editable,目前对于pipenv来说是必须的。
如果你需要使用pytest来测试项目,但在上线后不需要这个库,你可以指定这个库仅仅作用于开发模式 --dev.
--dev将会把第三库放到pipfile的一个单独的地方【dev-packages】。
如果你现在完成了开发,本地运行正常,你想锁定你的开发环境,并转至线上。使用如下命令确保开发环境:
这个代码将会创建或更新你的环境,你无需手动更改编辑。我们也应该一直使用自动生成的文件。
lock以后,在production环境,你需要安装最新的成功的运行环境。
这个命令是告诉pipenv,安装时忽略pipfile,用pipfile.lock里的列表。pipenv将会创建一模一样的环境,包括子依赖库。
现在,另一个人想要对代码做些更改,这种情况下,他得到代码,包括pipfile,运行如下命令
这个命令将会安装开发所需的所有的第三方库,包括普通的install以及--dev安装的。
举例,现在你开发用到的一个第三库有了版本升级,因为你不需要一个特定的版本,所以你在install的时候没有指定版本号。当你运行pipenv install时,最新版本的第三方库会安装到你的开发环境内。
然后你对代码做了一些更改,结果如预期一样。然后你再重复上面的步骤lock你的环境。并更新至Production.
将会使用默认的editor打开第三方库的代码。