Python | 虚拟环境 | Virtualenv&Anaconda

虚拟环境(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
    
### 创建 Python 虚拟环境的方法 #### 方法一:使用 `virtualenv` 工具创建虚拟环境 为了在 Linux 上创建 Python虚拟环境,可以采用 `virtualenv` 这个工具来实现。首先需要通过 pip 安装 virtualenv 库[^4]。 ```bash pip install virtualenv ``` 之后可以通过指定 Python 解释器版本的方式创建一个新的虚拟环境: ```bash virtualenv --python=python3 my_env_name ``` 这里 `my_env_name` 是所要创建的虚拟环境的名字,可以根据个人需求更改名称[^2]。 #### 方法二:基于 Anaconda 创建虚拟环境 另一种方式是在 Linux 中安装 Anaconda 并利用其内置功能建立虚拟环境。这不仅简化了包管理还提供了更便捷的操作体验[^3]。 安装完成后可通过如下指令快速构建特定版本 Python 的工作空间: ```bash conda create --name my_conda_env python=3.x ``` 这里的 `my_conda_env` 同样代表新生成的工作区名,而 `python=3.x` 则指定了该环境中使用的 Python 版本号。 无论哪种途径都支持后续进一步定制化配置以及方便地切换不同项目间的依赖关系维护。 #### 激活与停用虚拟环境 对于由 `virtualenv` 或者 Conda 构建出来的虚拟环境而言,都需要执行相应的命令来进行激活或退出当前会话中的应用状态。通常情况下,在终端输入以下命令即可完成这些操作(假设已进入目标目录): - 对于 `virtualenv` 用户来说: ```bash source my_env_name/bin/activate deactivate ``` - 针对 Anaconda 用户,则应分别运行下列语句: ```bash conda activate my_conda_env conda deactivate ``` 以上就是关于如何在 Linux 系统上设置 Python 虚拟环境的具体指导[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

比特本特

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

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

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

打赏作者

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

抵扣说明:

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

余额充值