Python学习笔记 - 虚拟环境(virtualenv)

一般情况下,我们安装的python都是全局安装的,就是说不管你在哪个路径下,都是引用我们安装的python,但是,如果我们需要用到不同版本的python,或者我们只想给这个项目安装一个特别的模块时,怎么办呢? 这个时候就需要用到虚拟环境—“独立”的Python运行环境,virtualenv为一个应用创建一套“隔离”的Python运行环境。

官方文档

命令参数:

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 {venv}]
                  [--seeder {app-data,pip}] [--no-seed] [--activators comma_sep_list] [--clear] [--no-vcs-ignore] [--system-site-packages] [--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

安装

$ pip3 install virtualenv

为项目创建虚拟环境

virtualenv venv

PS D:\Project\testPyApp> virtualenv venv
created virtual environment CPython3.9.9.final.0-64 in 2499ms
  creator Venv(dest=D:\Project\testPyApp\venv, clear=False, no_vcs_ignore=False, global=False, describe=CPython3Windows)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\AUGUR\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\Local\pypa\virtualenv)
    added seed packages: pip==21.3.1, setuptools==58.5.3, wheel==0.37.0
  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

如果项目有requirements.txt文件的话 可以直接安装在虚拟环境中 pip install -r requirements.txt

激活虚拟环境

window10下激活

进入Scripts目录运行activate.bat

D:\Project\testPyApp\venv\Scripts>activate.bat

(venv) D:\Project\testPyApp\venv\Scripts>

激活后会在路径签名用(venv)标识已经进入虚拟环境

mac下

source venv/bin/activate

虚拟环境中安装模块

(venv) D:\Project\testPyApp\venv\Scripts>pip3 install requests
Collecting requests
  Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting idna<4,>=2.5
  Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
Collecting charset-normalizer~=2.0.0
  Downloading charset_normalizer-2.0.9-py3-none-any.whl (39 kB)
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
Successfully installed certifi-2021.10.8 charset-normalizer-2.0.9 idna-3.3 requests-2.26.0 urllib3-1.26.7

退出虚拟环境

(venv) D:\Project\testPyApp\venv\Scripts>deactivate
D:\Project\testPyApp\venv\Scripts>

本文链接:

https://xuzi.vercel.app/archive/1638780854/

# 最新文章