linux系统如何打开python_手把手教你在Linux系统下使用Python虚拟环境

点击上方“

Python爬虫与数据挖掘

”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

夕阳无限好,只是近黄昏。

/1 前言/

Hello小伙伴们,你们好,又是日常get新技能的一天,今天,咱们来整一下如何玩转Linux下Python虚拟环境,0基础入门,趁着热乎,快上车啦~。

/2 为什么需要虚拟环境/

其实虚拟环境要解决的根本问题就是各种第三方包的混乱问题。

假如你在公司接收了三个项目

一个是用的Django1.5,老项目

一个是用的Django1.8,最近项目

一个是用的Django2.0+,新开的项目

你一个电脑只能装一个Django吧,所以,怎么办,这时候就需要一个工具来分离开各种版本。

这只是一种情况,我们大Python最引以为傲的就是大量的第三方包,当一个项目和另一个项目的大量的包并且是相同的包的时候,就完了,这个项目除了你没人能维护了。

下面就要引出我们最常用的也是最标准化的一个第三方包,

virtualenv

再加一个包管理工具

virtualenvwrapper

有了这俩,上述问题都是浮云。

/3 Linux环境概述/

本次示例的是Linux Ubuntu 18.04版本,如下图所示。

Python版本为自带的3.6.9,如下图所示。

pip版本已经更新成最新,如下图所示。

pip更新命令:

sudo Python3 -m pip install --upgrade pip

/4 安装配置/

1. 安装virtualenv

pip install virtualenv

2. 安装虚拟环境管理工具

pip install virtualenvwrapper

/5 操作步骤/

1. 创建一个文件夹用于存放虚拟环境

mkdir $HOME/.virtualenvs

或者

mkdir .virtualenvs

其实就是当前家目录下,~的意思是当前家目录,如果一直在~下,不需要$HOME也可以。

.开头的都是隐藏文件,需要命令

ls -al

才能看到。

2. 执行命令

which Python3

查看Python的安装目录,如下图所示。

3. 执行命令

which virtualenvwrapper.sh

查看virtualenvwrapper的目录。

红色部分其实就是我的家目录,简写成~/也是可以的。

4. 修改./bashrc文件,使用命令:

vim .bashrc

此处需要有vim基础,如果对vim不熟悉的建议了解一下在回来看。

添加内容,如下所示。

export WORKON_HOME=$HOME/.virtualenvssource ~/.local/bin/virtualenvwrapper.sh # which virtualenvwrapper.sh命令获取VIRTUALENVWRAPPER_PYTHON=/usr/bin/Python3 # which Python3命令获取

5. 刷新配置文件

source .bashrc

/6 常用命令/

1. 新建一个虚拟环境

mkvirtualenv spider

新建了一个spider的虚拟环境,并且进入了spider这个环境。

(spider) 表示进入了spider这个虚拟环境,并且正在使用,如下图所示。

2. 退出当前虚拟环境

deactivate

3. 查看所有的虚拟环境

workon or lsvirtualenv

这两个命令一般都是可以的。

目前创建了两个,flask和spider,如上图所示。

4. 删除虚拟环境

rmvirtualenv flask

删除了flask虚拟环境

5. 进入某个虚拟环境

小技巧

即使没有退出当前虚拟环境,workon也是直接可以切换到其他虚拟环境的

在Linux中,虚拟环境的命令是可以通过tab键自动补全的噢~

/7 命令总结/

命令

功能

lsvirtualenv 或者workon

列举所有的虚拟环境

mkvirtualenv spider

新建一个spider虚拟环境并且使用

deactivate

退出当前虚拟环境

rmvirtualenv spider

删除spider这个虚拟环境

workon flask

进入flask这个虚拟环境

/8 小结/

本文主要内容是针对Linux系统下进行Python虚拟环境操作,例举了虚拟环境常用命令和基本使用方法,方法简单且行之有效,欢迎大家积极尝试。

好了各位小伙伴,Linux下虚拟环境到此就结束了,如果操作中有任何问题,欢迎积极留言,小编帮助大家共同解决,再次感谢你们的支持噢~

------------------- End -------------------

往期精彩文章推荐:

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群】

万水千山总是情,点个【在看】行不行

/今日留言主题/

说说你在使用虚拟环境过程中遇到的问题吧~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java EE 7中的资源和依赖注入

1.概述 上下文和依赖注入(CDI)是Java EE的一项功能,可帮助融合Java EE 6和更高版本中包含的平台的Web层和事务层。 从技术角度来看,这意味着CDI提供了依赖项注入框架,并且还管理了依赖项的生命周期。 今天在本教程中&…

java wrap方法_Java WritableCellFormat.setWrap方法代码示例

import jxl.write.WritableCellFormat; //导入方法依赖的package包/类/*** param workSheet to add the help to* param table to fetch metadata from* param startRow to start adding rows at* param helpTextRowNumbers - map to insert row numbers for each help field i…

python创建tcp socket_Python Socket如何建立TCP连接

在 Python 程序中创建 TCP 服务器时,创建通用 TCP 服务器的一般演示代码如下。需要记住的是,这仅是设计服务器的一种方式。一旦熟悉了服务器设计,可以修改下面的代码来操作服务器。ss socket() #创建服务器套接字ss.bind() #绑定套接字与地址…

ubantu java编辑器_Linux Ubuntu中最好的代码编辑器 程序员都这么看吗?

【IT168 应用】Linux Ubuntu 中最好的代码编辑器是哪个 ? 这要看程序员的使用习惯和喜好了,Atom、Brackets、Sublime Text 是最常用的三个,也许程序员们还有更喜欢的。AtomAtom 是流行,而且十分友好的文本编辑器,而且还可以嵌入到…

apache camel_Apache Camel –从头开始开发应用程序(第1部分/第2部分)

apache camel开始之前 前段时间,我写了一篇关于Spring Integration的教程,以演示如何在受现实发票处理系统启发的示例应用程序中使用Spring Integration。 我对此非常满意,因此我决定向您展示如何使用Apache Camel(Spring Integra…

python websocket异步高并发_高并发异步uwsgi+web.py+gevent

为什么用web.py?python的web框架有很多,比如webpy、flask、bottle等,但是为什么我们选了webpy呢?想了好久,未果,硬要给解释,我想可能原因有两个:第一个是兄弟项目组用webpy&#xff…

提示:通过URL激活并发送参数

世界上最安全的密码是不存在的密码。 使用完全随机的密钥从等式中删除用户。 公平地说,这有一些缺点,并且密码仍然存在于某个地方(在您的电话/电子邮件中),但通常效果很好。 诀窍很简单,如果我们想对用户进…

weblogic创建域后启动不了_摩托车淋雨后启动不了什么原因?如何解决?

图文是工作,视频是生活。大家好,我是 骑士分享 欢迎您的关注!摩托车淋雨后启动不了什么原因?如何解决?这种现象对于电喷车型来说发生的几率并不大,原因就在于电喷车型的线路防水能力会更强,供油…

前端开始学java_[Java教程]开启前端学习之路

[Java教程]开启前端学习之路0 2014-06-10 17:00:06前言第一次在博客园写博客,写写自己开启前端学习之路。应该是受邢师兄的影响吧,不得不说邢师兄人很好,学习也很认真,师兄的前端也是自学的,但是学的很好,大…

python 傅里叶_基于python的图像傅里叶处理

import numpy as npimport matplotlib.pyplot as pltx np.linspace(-10, 10, 1000)a np.cos(x)b a np.cos(3 * x)# d np.log(x)c b np.cos(7 * x)d c - np.cos(10 * x)plt.subplot(2, 2, 1)plt.plot(x, a, label‘$cos(x)$‘, color‘green‘, linewidth1)plt.title(&q…

xalan_如何以10倍速加速Apache Xalan的XPath处理器

xalan一段时间以来, Apache Xalan中存在一个令人尴尬的错误,该错误是XALANJ-2540 。 此错误的后果是Xalan每次XPath表达式求值将内部SPI配置文件加载数千次 ,可以很容易地进行如下测量: 这个: Element e (Element)do…

EMUI10安装java_linux ubuntu系统安装java jdk和配置环境,pycharm安装

最近想使用pycharm,可是要想搭建java 环境,搞了很久才搞定,网上很多资料都是没用的。记录下来以后有用。首先加下载jdk安装包。我下的是jdk-6u37-linux-x64.bin,我把jdk安装在usr/lib/jvm1.sudo cp jdk-6u37-linux-x64.bin /usr/lib/jvm #将安…

python gevent async_python的异步初体验(gevent、async、await)

网络爬虫,这种io高密集型的应用由于大部分的时间在等待响应方面,所以CPU的使用率一直不高,速度也不快,为了解决这些问题,我们使用异步的方式来进行爬虫程序。串行的时候,如果我们要爬一个网站,那…

JEP 181不兼容,嵌套类/ 2

JEP 181是基于嵌套的访问控制https://openjdk.java.net/jeps/181 。 它是在Java 11中引入的,它故意引入了与先前版本的不兼容性。 这是一个很好的例子,与Java的先前版本兼容并不是刻板的规则,而是保持语言的一致性和稳定发展。 在本文中&…

abap 导入队列末尾_在C#中将对象添加到队列的末尾-排队操作

要将对象添加到队列的末尾,代码如下-示例using System;using System.Collections.Generic;public class Demo {public static void Main(){Queue queue new Queue();queue.Enqueue("Electronics");queue.Enqueue("Accessories");queue.Enqueue…

vim循环下表复制_Vimrc Init.vim太长了?不存在的

精简配置刚开始接触vim,你会被它各种好看的外观以及实用的插件吸引,各种折腾,不知不觉你的vimrc或者init.vim变得特别长,我之前的init.vim有多长?596行?wtf?每次维护的时候不知道有多麻烦&#…

C语言与JAVA内存管理_C语言内存管理

本章将介绍C语言动态内存管理. C语言编程语言提供了多种功能的内存分配和管理。这些函数可以在头文件中找到。S.N.函数与说明1void *calloc(int num, int size);此函数分配num元素其中每一个字节大小为(size)的数组2void free(void *address);此函数释放由地址指定的存储器块的…

使用LocalDate,LocalTime和LocalDateTime

Java 8对日期和时间API进行了重大更改,这是在JSR 310:日期和时间API的 JDK中包括了Joda Time API 。 此JSR由Joda Time的创建者Stephen Colebourne领导。 有许多惊人的API可用于日期和时间。 在本文中,我将介绍最常用的: java.ti…

visual studio odbc数据源设计器_NEW!WinForm界面开发设计时正式支持.NET 5

点击“了解更多”获取DevExpress v20.2完整版下载早在今年7月,官方技术团队宣布对DevExpress控件进行功能增强,使其支持最新的.NET 5 Preview。 但是尽管技术团队一直在努力确保WinForms控件与.NET 5兼容但在Visual Studio中对设计器的支持却是另一回事。…

java 接口的观察者模式_java观察者模式

观察者模式又叫做发布-订阅(Publish/Subscribe)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自己更新自己。Observer结构图.pngSubj…