【Python】使用virtualenv管理你的Python项目
virtualenv
简介
virtualenv用于建立Python的虚拟环境,可以指定特定版本(须本机已安装的),并生成一个新的初始化的pip。由此,我们可以在以下场景使用:
- 开发多个项目时,使用虚拟环境可以使其需要的依赖分离,防止多个依赖包所需的版本不同而出现问题,还可以防止依赖包之间的冲突等问题
- 可以对项目的环境有具体的定义,Python版本、所需的依赖包清晰,在写项目文档时不会出现纰漏
安装
$ pip install virtualenv
如果你使用的Python是多个版本,如Python2.7和Python3.7,则在pip后面加上Python版本,如pip3.7
检查是否安装成功:
$ virtualenv
usage: virtualenv [--version] [--with-traceback] [-v | -q] [--read-only-app-data] [--app-data APP_DATA] [--reset-app-data] [--upgrade-embed-wheels] [--discovery {builtin}] [-p py] [--try-first-with py_exe]
[--creator {builtin,cpython3-posix,venv}] [--seeder {app-data,pip}] [--no-seed] [--activators comma_sep_list] [--clear] [--no-vcs-ignore] [--system-site-packages] [--symlinks | --copies] [--no-download | --download]
[--extra-search-dir d [d ...]] [--pip version] [--setuptools version] [--wheel version] [--no-pip] [--no-setuptools] [--no-wheel] [--no-periodic-update] [--symlink-app-data] [--prompt prompt] [-h]
dest
virtualenv: error: the following arguments are required: dest
SystemExit: 2
Linux系统下的使用
创建虚拟环境
我的Linux上安装了Python2.7、Python3.6和Python3.7
虚拟环境创建命令的格式是virtualenv -p <python版本> <自定义环境名>
~$ mkdir myenv
~$ cd myenv
~/myenv$
~/myenv$ virtualenv -p python2.7 env2.7
created virtual environment CPython2.7.17.final.0-64 in 652ms
creator CPython2Posix(dest=/root/myenv/env2.7, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
added seed packages: pip==20.3.4, setuptools==44.1.1, wheel==0.36.2
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator
~/myenv$
~/myenv$ virtualenv -p python3.6 env3.6
created virtual environment CPython3.6.9.final.0-64 in 1141ms
creator CPython3Posix(dest=/root/myproject/env3.6, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
added seed packages: pip==21.1.1, setuptools==56.0.0, wheel==0.36.2
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
~/myenv$
~/myenv$ virtualenv -p python3.7 env3.7
created virtual environment CPython3.7.5.final.0-64 in 126ms
creator CPython3Posix(dest=/root/myenv/env3.7, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
added seed packages: pip==21.1.1, setuptools==56.0.0, wheel==0.36.2
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
~/myenv$
~/myenv$ ls
env2.7 env3.6 env3.7
加载虚拟环境
虚拟环境加载命令的格式是source <自定义环境名>/bin/activate
,下面以env3.7(python3.7)为例。
~/myenv$ source env3.7/bin/activate
(env3.7) ~/myenv$ python --version
Python 3.7.5
(env3.7) ~/myenv$ pip --version
pip 21.1.1 from /root/myenv/env3.7/lib/python3.7/site-packages/pip (python 3.7)
(env3.7) ~/myenv$ pip list
Package Version
---------- -------
pip 21.1.1
setuptools 56.0.0
wheel 0.36.2
退出虚拟环境
(env3.7) ~/myenv$ deactivate
~/myenv$
Windows系统下的使用
创建虚拟环境
虚拟环境创建命令的格式是virtualenv -p <python版本> <自定义环境名>
C:\Users\bertr\Desktop>mkdir myenv
C:\Users\bertr\Desktop>cd myenv
C:\Users\bertr\Desktop\myenv>virtualenv -p python3.8 env3.8
created virtual environment CPython3.8.1.final.0-64 in 4671ms
creator CPython3Windows(dest=C:\Users\bertr\Desktop\myenv\env3.8, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\bertr\AppData\Local\pypa\virtualenv)
added seed packages: pip==21.0.1, setuptools==54.1.2, wheel==0.36.2
activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
加载虚拟环境
虚拟环境加载命令的格式是<自定义环境名>\Scripts\activate
(注意:是反斜杆),下面以env3.8(python3.8)为例。
C:\Users\bertr\Desktop\myenv>env3.8\Scripts\activate
(env3.8) C:\Users\bertr\Desktop\myenv>python --version
Python 3.8.1
(env3.8) C:\Users\bertr\Desktop\myenv>pip --version
pip 21.0.1 from C:\Users\bertr\Desktop\myenv\env3.8\lib\site-packages\pip (python 3.8)
(env3.8) C:\Users\bertr\Desktop\myenv>pip list
Package Version
---------- -------
pip 21.0.1
setuptools 54.1.2
wheel 0.36.2
(env3.8) C:\Users\bertr\Desktop\myenv>
退出虚拟环境
(env3.8) C:\Users\bertr\Desktop\myenv>deactivate
C:\Users\bertr\Desktop\myenv>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/97115.html