Python | 虚拟环境 | Virtualenv&Anaconda

本文介绍如何使用Virtualenv和Anaconda管理Python项目的虚拟环境,确保不同项目间依赖隔离,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虚拟环境(Virtualenv|Anaconda)

场景一

假设我们有两个Python工程,均使用python2.7.9的版本解释器。第一个工程的工作是图像识别,安装了一堆opencv等第三方包工具包;第二个工程是数据爬虫,安装了一堆如bs4、xpath等第三方解析包。

我们当然可以将所有的第三方包都安装在同一个python解释器的资源库中,但是随着项目的增加,每个项目可能只是用到其中的很小一部分第三方包,这样就会导致比如我们就开发了一个 1+1=2 计算代码,都需要用上面包含造火箭功能的解释器,臃肿且不优雅。

这个时候我们考虑是否可以将每一个工程分别创建一个独立管理的Python解释器。每个工程对应的解释器只包含当前工程内使用的资源包。

virtualenv

针对上面的场景,我们可以使用vitrualenv。
但是有一个问题,使用vitrualenv创建的Python解释器,实际上是从当前宿主机现有的Python环境中复制过来的干净的Python解释器。
简单的说就是:只有你有一个Python环境,virtualenv才能帮忙拷贝一个新的出来,如果你宿主机上没有安装过Python解释器,那么它也没办法。

  • 基础命令

    virtualenv new_env_path
    
  • 指定Python版本

    virtualenv -p new_env_path python=3.8.8
    

    (python3.8.8是我当前环境的版本,如果写3.8.7就会报错)

    Kenny@MAC % python --version
    Python 3.8.8
    Kenny@MAC % virtualenv py388 --python=3.8.7
    RuntimeError: failed to find interpreter for Builtin discover of python_spec='3.8.7'
    Kenny@MAC % virtualenv py388 --python=3.8.9
    RuntimeError: failed to find interpreter for Builtin discover of python_spec='3.8.9'
    Kenny@MAC % virtualenv py388 --python=3.8.8
    created virtual environment CPython3.8.8.final.0-64 in 395ms
      creator CPython3Posix(dest=/Users/kt/Downloads/py388, clear=False, no_vcs_ignore=False, global=False)
      seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/kt/Library/Application Support/virtualenv)
        added seed packages: pip==22.0.3, setuptools==60.6.0, wheel==0.37.1
      activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
    
  • 激活
    当虚拟环境生成后,我们需要使用当前新的虚拟环境时,需要首先激活它,否则我们将不会使用新环境的解释器

    # Enter Venv Path.
    cd [new_env_path] 
    # windows
    acitvate
    # linux/MACOS
    source activate
    
  • 退出环境

    # Enter Venv Path.
    cd [new_env_path] 
    # windows
    deactivate
    # linux/MACOS
    source deactivate
    

场景二

还是上面的情况,但是我们现在本地宿主机没有安装任何Python解释器,但是我想实现场景一的管理方式,并指定多个版本号的Python解释器,如何做呢?

Anaconda

Anaconda是一个Python的包管理工具软件,想使用它当然是得下载并安装,基本上anaconda的下载和安装都是next step、next step、done.

关于Anaconda新环境的创建和使用简单的有以下几部分:

  • 创建一个新环境
    conda create -n new_env_name python=3.8.8
    conda create -n new_env_name2 python=2.7.9
    
  • 激活环境
    	# windows
    	acitvate new_env_name
    	# linux/MACOS
    	source activate new_env_name
    	# 此时你可以安装包、启动环境工程,它都将使用当前激活的解释器
    
  • 退出环境
    	# windows
    	deactivate
    	# linux/MACOS
    	source deactivate
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比特本特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值