【Python】使用virtualenv管理你的Python项目

导读:本篇文章讲解 【Python】使用virtualenv管理你的Python项目,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!