谷动谷力

 找回密码
 立即注册
查看: 1487|回复: 0
打印 上一主题 下一主题
收起左侧

python 虚拟环境

[复制链接]
跳转到指定楼层
楼主
发表于 2023-1-1 10:28:32 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 sunsili 于 2023-1-1 10:35 编辑

python 虚拟环境


1. 目的


问题:

在开发过程中如果想要安装Python模块可以使用sudo pip install 模块来安装

如果当前有2个项目,项目A用到了某个版本的某个模块,假如说pygame用的是旧版本,现在项目要用到pygame的新版本,此时就会出现一个很尴尬的问题,如果让项目A执行则用旧版pygame,如果让项目B运行则用新版pygame,因为在同一个电脑只有1份,即不能同时存在新旧2个版本的pygame,所以要使用pip工具一会安装旧版本一会安装已新版本会相当的麻烦,且不友好


解决方法:

虚拟环境


2. 什么是虚拟环境

虚拟环境可以搭建独立的Python运行环境,使单个项目运行环境和其他项目运行环境互不影响。

说的直白点,安卓手机上的应用分身,虽然在同一个手机上,但是可以有2个微信同时登录

其实虚拟环境就很类似刚刚所描述应用分身,就是在同一个电脑上,有多个不同的Python解释器以及对应的模块工具,所以只要有了多个虚拟环境,那么在多个项目开发时,就可以选择需要的虚拟环境然后这这个虚拟环境中安装需要的版本,就实现了在同一个电脑上同时开发多个项目的能力


3. 特点

虚拟环境是python解释器的一个私有副本,在这个环境中你可以安装私有包,而且不会影响系统中安装的全局python解释器

虚拟环境非常有用,可以在系统的python解释器中避免包的混乱和版本的冲突。为每个程序单独创建虚拟环境可以保证程序智能访问虚拟环境中的包,从而保持全局解释器的干净整洁,时期只作为创建(更多)虚拟环境的源。

使用虚拟环境还有个好处,那就是不需要管理员权限。即安装是不需要sudo


4. 安装工具以便使用虚拟环境

未能能够让大家清晰的知道,虚拟环境工具的使用,所以会讲解2个工具

  • virtualenv较为麻烦
  • virtualenvwrapper使用时简单

4.1. 先确定自己电脑上是否已经安装了python以及pip

如要求Python2、Python3两个版本同时存在,只要有1个即可


4.2 虚拟环境工具(virtualenv)

4.2.1. 安装


sudo pip install virtualenv

4.2.2. 测试

# 建立文件夹$ mkdir testvirtualenv
# 进入文件夹$ cd testvirtualenv
# 创建虚拟环境$ virtualenv


4.2.3. 终端使用虚拟环境


4.2.4. pycharm使用虚拟环境

说明:

[color=var(--text_color, #34495e)]上面创建虚拟环境的后,在pycharm的项目设置中选择使用的解释器为上面创建的虚拟环境中的Python3,即可在运行pycharm时,使用虚拟环境中的解释器以及环境来执行Python文件


4.3 虚拟环境工具(virtualenvwrapper)

为了更方便的操作虚拟环境,像创建、删除、切换等,所以使用virtualenvwrapper

virtualenvwrapper是virtualenv的扩展包,可以更方便的新增、删除、复制、切换虚拟环境



4.3.1 安装
sudo pip install virtualenvwrapper


4.3.2 修改

安装完virtualenvwrapper使用virtualenvwrapper.sh需要配置一下环境变量直接把下面两行写入~/.bash_profile文件中即可:

export WORKON_HOME='~/workspace'  # 这个目录为创建虚拟环境是所在的目录,可以自己指定目录source /usr/local/bin/virtualenvwrapper.sh # 如果不知道路径,可以find / -name virtualenvwrapper.sh复制Error复制成功...

在配置完环境变量以后执行一下命令,不然不生效

source ~/.bash_profile


4.3.3 测试


+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-11-17 15:53 , Processed in 0.213956 second(s), 42 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表