linux系统下Python虚拟环境的安装和使用
前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开发就显得很有必要。
安装虚拟环境
步骤:
打开Linux终端(快捷键Ctrl+Alt+T),输入命令:
sudo apt install python-virtualenv
sudo easy_install virtualenvwrapper
说明:以上两条命令逐条执行,完成后虚拟环境安装完毕。
或者可以使用pip安装,前提是安装了pip,一般python自带了pip:
sudo pip install virtualenv
sudo pip install virtualenvwrapper
- 说明:安装的结果一模一样,使用任意一种即可。
- virtualenv是虚拟环境,virtualenvwrapper对virtualenv的命令进行了封装,使得其更加友好。
注意:安装的顺序不能颠倒,virtualenvwrapper必须依赖于virtualenv。
创建虚拟环境
- 在终端输入如下命令:
mkvirtualenv 虚拟环境名称
如:
mkvirtualenv mywork
//会创建一个名为mywork的虚拟环境
创建的虚拟环境都保存在/home/.virtualenvs目录下,可以进入这个目录查看;
创建成功后会自动进入该虚拟环境,命令行提示改变;
指定python版本创建虚拟环境
上面的命令执行时,系统会创建默认的python版本的开发环境,一般大家的电脑会同时安装python2和python3版本,有时需要不同的版本创建虚拟环境。
mkvirtualenv -p python路径 虚拟环境名称
例:
mkvirtualenv -p /usr/bin/python3 mywork
- -p指的是path的简写
- Py安装的路径,默认安装在/usr/bin/目录下;如果一时间找不到,使用命令:
如果提示:ModuleNotFoundError: No module named 'distutils.sysconfig',是virtualenv的版本不够新
pip uninstall virtualenv
pip install virtualenv==16.1 # 重新安装
whereis python3
在终端命令行搜索,会出现想要的路径。
细节:不需要进入到/home/.virtualenvs目录,在任何目录下都可以执行命令,创建的虚拟环境的位置都一样。
注意:创建虚拟环境是需要在联网下进行,否则创建失败。
注意:使用mkvirtualenv创建虚拟环境,可能提示找不到命令,一般是脚本文件没有加入系统路径,解决如下:
- 方法一:
# 找到virtualenvwrapper的脚本文件
whereis virtualenvwrapper
# 进入该目录
cd /usr/local/python3/bin
# 执行脚本文件激活virtualenvwrapper
source virtualenvwrapper.sh
# 可以正常使用命令了
- 方法二:
# 方法一每次重启后都需要手动激活,不方便,将命令添加到环境变量
sudo vi ~/.bashrc
# 在末尾添加一行
source /usr/local/python3/bin/virtualenvwrapper.sh
# 保存后执行
source ~/.bashrc
# 现在可以正常使用命令了,且每次重启主机自动加载命令
虚拟环境的查看和使用
- 删除虚拟环境
rmvirtualenv [虚拟环境名称]
例:
rmvirtualenv mywork
注意:如果目前的位置在虚拟环境中,需要先退出虚拟环境,然后才能执行删除
注意:可以在任何目录执行删除操作,如果不知道名字,可以rmvirtualen + 两次Tab键,提示所有的虚拟环境
- 退出虚拟环境
deactivate
- 进入虚拟环境
workon [虚拟环境名称]
例:
workkon mywork
注意:按workon+两次Tab键会提示所有虚拟环境。
- 查看虚拟环境中安装的python包
pip list
pip freeze
两个命令都可以查询,只是展示的形式不一样。
在虚拟环境下安装python包
- 进入虚拟环境,在终端输入:
#升级pip
python3 -m pip install --upgrade pip
pip install 包的名字
注意:一定不要使用sudo pip ... ,这里是在虚拟环境中安装python包,如果使用了sudo权限,python包会被安装在主机非虚拟环境下,在虚拟环境中找不到这个包。
linux系统下Python虚拟环境的安装和使用的更多相关文章
- ubuntu系统下Python虚拟环境的安装和使用
ubuntu系统下Python虚拟环境的安装和使用 前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开 ...
- Linux系统下(x64)安装jdk 1.6(jdk-6u45-linux-x64.bin)
Linux系统下(x64)安装jdk 1.6(jdk-6u45-linux-x64.bin) 一,查看是否安装jdk: # rpm -qa | grep jdk 或者 #rpm -q jdk 或者 # ...
- Linux系统下MongoDB的简单安装与基本操作
这篇文章主要介绍了Linux系统下MongoDB的简单安装与基本操作,需要的朋友可以参考下 Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备 ...
- Linux系统下Redis单机版的安装详细教程
Linux系统下Redis单机版的安装详细教程 1.下载软件安装包并上传到root目录 这里以旧版本的3.0进行安装,比较成熟稳定,具体软件可以通过qq群534073451文件下载
- redis在windows和Linux系统下的下载、安装、配置
1.下载redis安装包 在redis的官网只有Linux系统下的安装包,微软的GitHub上有提供windows版本的redis安装包 redis中文网:http://www.redis.cn/ 微 ...
- linux 系统下IntelliJ IDEA的安装及使用
由于刚刚进入研究生阶段,通过几个月对大数据的学习,从java到hadoop,再到scala到spark.在这我写一下我在ubuntu系统下intelliJ IDEA的安装和配置.首先我的ubuntu系 ...
- Windows和Linux系统下,虚拟环境安装的全面说明和详细步骤
虚拟环境的创建和使用 用途: 1.在同一台电脑安装同一个包的不同版本 2.记录项目所用的所有的包的版本,方便部署. 如何使用: 1.创建虚拟环境 mkvirtualenv 虚拟环境名 -p pyt ...
- linux系统下kvm虚拟机的安装
一 KVM虚拟机简介 KVM是kernel-based Virtual Machine的简称,目前已成为学术界的主流VMM之一.KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术) ...
- ubuntu环境下python虚拟环境的安装
一. 虚拟环境搭建 在开发中安装模块的方法: pip install 模块名称 之前我们安装模块都是直接在物理环境下安装,这种安装方法,后面一次安装的会覆盖掉前面一次安装的.那如果一台机器上面开发多个 ...
随机推荐
- 团队作业4——第一次项目冲刺(Alpha版本) Day6
首先和助教及老师表示抱歉,博客确实当时就写了,但是一直不算写好,因为这几天卡住了,预计实现的功能实现不了,进度跟不上,现在也在寻求解决方法. 1.站立式会议: 2. Leangoo任务分解图: 3.任 ...
- 201521123011 《java程序设计》 第7周学习总结
1. 本周学习总结 参考资料: XMind 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 1.2 解释E remove(int index)源 ...
- 201521123078《Java程序设计》第2周学习总结
1. 本周学习总结 **学会使用码云管理代码,包括将本地的代码上传至码云,和将码云上的项目保存至本地.编程要掌握重要的类名的使用,提高编程效率,避免想无头苍蝇一样** 2. 书面作业 使用Eclips ...
- 201521123032 《Java程序设计》第1周学习总结
#1. 本周学习总结 下载熟悉eclipse,了解java的入门.用notepad++和eclipse编写Java程序.复习到了十进制转化为二进制,八进制与十六进制. #2. 书面作业 ##2.1为什 ...
- Python可视化----------matplotlib.pylot
1 >>> import matplotlib.pyplot as plt 2 >>> plt.axis([0,5,0,20]) 3 [0, 5, 0, 20] 4 ...
- 06jQuery-03-选择器查找和过滤
1.查找 find().parent().prev().next() 通常情况下选择器可以直接定位到我们想要的元素,但是,当我们拿到一个jQuery对象后,还可以以这个对象为基准,进行查找和过滤. 最 ...
- 再起航,我的学习笔记之JavaScript设计模式24(备忘录模式)
备忘录模式 概念介绍 备忘录模式(Memento): 在不破坏对象的封装性的前提下,在对象之外捕获并保存该对象内部的状态以便日后对象使用或者对象恢复到以前的某个状态. 简易分页 在一般情况下我们需要做 ...
- Bootstrap——一款超好用的前端框架
前 言 Bootstrap Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,用于开发响应式布局.移动设备优先的 WEB 项目.Bootstrap在JQuery的基础上进 ...
- 关于DbContext能不能单次请求内唯一?DbContex需不需要主动释放?欢迎各路大侠来“参战”!
基于前篇文章<HiBlogs>重写笔记[1]--从DbContext到依赖注入再到自动注入园友@Flaming丶淡蓝@ 吴瑞祥 提出了讨论和质疑,吓得我连夜查询资料(玩笑~). 本来文章的 ...
- jsp base路径
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...