Python实战技巧(6)Miniconda+Pipenv安装部署开发环境实战详解_redrose2100的博客-程序员秘密

技术标签: python  Python  

更多信息请关注 个人网站

Python实战技巧(1)Python字典类型数据如何递归地通过点‘.’的方式访问

Python实战技巧(2)Python的pdb调试代码方法详解

Python实战技巧(3)多版本兼容安装部署(py27,py34,py35,py36,py37,py38,py39)

Python实战技巧(4)正式在pypi网站发布包的流程详解

Python实战技巧(5)Python版本兼容性测试工具tox实战详解

Python实战技巧(6)Miniconda+Pipenv安装部署开发环境实战详解

Python实战技巧(7)Pycharm如何远程调试远程执行

Python实战技巧(8)Python调用C语言

Python实战技巧(9)Python发送邮件

Python实战技巧(10)Python解析邮件

Python实战技巧(11)使用python收发邮件时需要的邮箱授权码如何获取

1、问题:

在现实Python开发过程中,不可避免的会遇到在同一台计算机上需要同时使用多个Python版本,比如需要同时使用Python3.7,Python3.8和Python3.9,此外及时是同一个Python版本下,也有需要多个项目分别使用不同的虚拟环境,即在一台计算机上需要同时支持多个Python版本以及一个版本下需要支持多个Python虚拟环境的需求

2、解决方案

经过多种尝试,笔者发现使用miniconda+pipenv的模式相对来说比较方便,具体来说就是通过miniconda来安装多个Python版本的环境,然后在每个python版本的环境中使用pipenv为每个项目创建各自的Python虚拟环境

3、操作步骤

  • 3.1 安装Miniconda以及各个版本的Python虚拟环境(以win10为例)
    • 1、打开Miniconda官网下载页面,下载最新的版本,最新的版本可以安装之前的Python版本的环境
      在这里插入图片描述
    • 2、下载完成后,在下载的安装包上【右键】-【以管理员权限运行】,开始安装,安装过程比较简单,可以一路默认,也可以通过修改安装位置选择自己的安装位置,这里建议选择安装到D盘,不要直接安装到C盘,因为时间就了C盘容易满
    • 3、打开cmd窗口,执行如下命令安装python36版本的python
    conda create -n python36 python=3.6
    
    • 4、然后可以一口气将python27,python37,python38,python39一次性安装好,即依次执行如下命令
    conda create -n python27 python=2.7
    conda create -n python37 python=3.7
    conda create -n python38 python=3.8
    conda create -n python39 python=3.9
    
    • 5、安装完成后,在Miniconda安装路径下的envs目录下会有对应的Python安装路径
      在这里插入图片描述
    • 6、激活Python环境通过如下命令
    # 激活python3.6
    conda activate python36
    # 激活python2.7
    conda activate python27
    # 激活python3.7
    conda activate python37
    # 激活python3.8
    conda activate python38
    # 激活python3.9
    conda activate python39
    
    效果如下:
    在这里插入图片描述
    • 7、若要退出当前Python版本,执行 conda deactivate即可
      在这里插入图片描述
    • 8、 查看当前通过Miniconda已经安装的Python版本有哪些,使用命令 conda env list
      在这里插入图片描述
  • 3.2 同一个python版本下不同的项目使用各自的虚拟环境
    • 1、例如在D盘创建了project01和project02两个项目,希望这个两个项目都使用python3.8的版本,但是担心这两个项目会有一些包冲突,所以希望这两个项目均使用自己的虚拟环境,这时候pipenv需要登场了
    • 2、首先在cmd窗口中切换到D:\project01目录下,然后执行conda activate python38激活python3.8的版本
      在这里插入图片描述
    • 3、执行 pip list 查看pipenv是否安装,如果未安装则继续执行pip install pipenv,如果安装了则继续,这里因为已经安装过了
      在这里插入图片描述
    • 4、执行pipenv --python 3.8 创建属于当前项目的虚拟环境
      在这里插入图片描述
    • 5、此时打开 C:\Users\Administrator.virtualenvs 目录,即可以看到以当前文件夹名加一段随机字符组成的虚拟环境目录
      在这里插入图片描述
    • 6、若要进入此虚拟环境,只需要继续执行 pipenv shell即可进入
      在这里插入图片描述
    • 7、如果当前cmd窗口关闭了,重新打开一个cmd窗口,此时如果想进入上面创建好的虚拟环境,首先进入到项目根目录,然后要激活python38这个Python环境,然后再执行pipenv shell即可进入
      在这里插入图片描述
    • 8、重复上述1-6的步骤即可为project02创建project02的虚拟环境
  • 3.3 Pycharm中如何指定上述创建的虚拟环境呢?
    • 1、比如为上述project01为例,在pycharm中指定其自己的Python虚拟环境
    • 2、打开pycharm,然后打开project01这个项目
    • 3、打开【File】-【Setting】-【Project project01】-【python interpreter】
      在这里插入图片描述
    • 4、点击指定编译器右边的齿轮,然后点击Add
      在这里插入图片描述
    • 5、点击【Conda Enviroment】-【Existing environment】,然后点击浏览,找到对应虚拟环境中的python.exe
      在这里插入图片描述
    • 6、然后一路点击OK,即完成pycharm中python编译器的设置
  • 3.4 OK,如此即可实现在一台计算机上安装多个Python版本,每个Python版本可以创建多个虚拟环境的需求了,在每个虚拟环境中,就跟计算机上安装了一个Python一样,可以直接使用python命令,也可以直接使用pip命令,而根本需要使用python3或者pip3等指定具体版本的命令。比如安装一个Python第三方包,在激活了虚拟环境之后,可以直接使用 pip install xxx的方式去安装依赖包
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/redrose2100/article/details/117048094

智能推荐

初学Qt之——动态增加组件。_qt 动态添加组件_Keycer的博客-程序员秘密

实现功能:通过点击按钮来增加几个组件。     注意事项:刚开始时,我没有使用布局管理器,因此无论怎样点击,增加的组件都不能显示出来。增加布局管理器后,组件正常显示,这说明增加和删除组件需要布局管理器的参与。     (更正:原来动态增加组建并不一定需要布局管理器的参与,当初测试的时候之所以组件没有显示,那是因为我没有使用show()方法造成的,特此更正。)---(菜鸟作品,错误难以避免,

java java事件处理机制 event_Cheng haitao的博客-程序员秘密

/* * 功能:java事件处理机制 * */package com.t; import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Demo2 extends JFrame implements ActionListener{ //定义一个panel JPanel mp=nu

开发指南专题十一:JEECG微云快速开发平台--基础用户权限_JEECG官方博客的博客-程序员秘密

开发之南十一:JEECG微云快速开发平台--基础用户权限11.1. 权限设计基本概念权限管理模块涉及到的实体有:用户、角色和系统资源(包括系统菜单、页面按钮等)。用户可以拥有多个角色,角色可以被分配给多个用户。而权限的意思就是对某个资源的某个操作.一般通用的权限管理模块规定:所谓资源即应用系统中提供的要进行鉴权才能访问的资源(比如各类数据,系统菜

J2EE项目代码编写规范_iteye_20558的博客-程序员秘密

J2EE项目代码编写规范来源: 网络转载代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯。代码编写规范使用范围:J2EE项目开发。包命名规范:目的:包的命名规范应当体现出项目资源良好的划分servlet类所在包命名规范:公司名称.开发组名称.项目名称.web.servlet例如:net.linkcn.web.servlet自定义标签...

【数竞笔记2】—— 常见积分方法_YY同学Serendipity的博客-程序员秘密

笔者:YY同学Serendipity生命不息,代码不止。好玩的项目尽在GitHub

lua开发之--mysql和http模块_thushear的博客-程序员秘密

Mysql客户端lua-resty-mysql是为基于cosocket API的ngx_lua提供的Lua Mysql客户端,通过它可以完成Mysql的操作。默认安装OpenResty时已经自带了该模块,使用文档可参考https://github.com/openresty/lua-resty-mysql。编辑test_mysql.lualocal function close_db(db)

随便推点

Qt QPainter 旋转控件_qt控件旋转角度_slrjj的博客-程序员秘密

Qt QPainter 旋转控件QPainter是通过rotate函数来进行旋转,在Qt帮助文档中,ratate函数声明如下:void QPainter::rotate(qreal angle)此方法是以坐标原点来进行顺时针旋转,angle是旋转角度。上一段代码来解释运用: void QtCoordinates::DrawPoly(QPainter *paint, char dire...

Ubuntu 下安装Beyond Compare_AndyCheng_hgcc的博客-程序员秘密

https://blog.csdn.net/yunfeiyang62/article/details/45619127官网下载安装包:http://www.scootersoftware.com/download.php 下面介绍两种安装方式:1. deb包安装方式:双击deb使用图形界面安装。 点击安装即可。  终端安装方式:sudo apt-get ...

在echarts中,通过使用单选框radio代替legend控制显隐_legendtoggleselect_秋成的博客-程序员秘密

在echarts中,通过使用单选框radio代替legend控制显隐 业务需求:通过自定义的单选框代替legend控制显示与隐藏第一步:获取单选框的value值<div id="map" style="width: 600px;height:400px;"></div> <div class="tabs_radios" id="tabs_r.

转载的一些东西_TX0099的博客-程序员秘密

选择机器学习方向,需要专注提高以下方面的能力:(一)基础代码能力:刷OJ(leetcode or hackrank)和实现机器学习算法(如svm、lr、gbdt、random forests等),并且让代码规范高效。(二)领域知识:kaggle比赛、认真读书(ESL或者PRML)并写读书笔记、和大神交流(特征工程、模型等)、每天找点其他人遇到的问题回答一下(知乎、Quora、StackOv

tomcat启动慢_weixin_33888907的博客-程序员秘密

为什么80%的码农都做不了架构师?>>> ...

定时器之contextDestroyed_FreemanZhao的博客-程序员秘密

【创建时间】2016/8/31contextDestroyed为定时器销毁方法,public void contextDestroyed(ServletContextEvent sce) { timer.cancel(); System.out.println("定时器销毁!"); }在执行的时候,并没有看到程序有调用该方法,好奇这个销

推荐文章

热门文章

相关标签