python虚拟环境 + 批量pip + 换源

虚拟环境

曾经我是一个小白,不管运行什么项目都用一个环境,后来项目多了,有的是Django1.11的有的是Django2的,有的项目只能在3.6上运行,经历过的都明白吧。所以整理了几个常见的换虚拟环境的方法。

一、使用virtualenv

1. 使用pip

pip install virtualenv

2. 创建运行环境

virtualenv [虚拟环境名称]
virtualenv venv #如果不想使用系统的包,加上–no-site-packeages参数
virtualenv --no-site-packages 创建路径名

3. 激活环境

linux:

$ cd venv
$ source ./bin/activate

Windows 10:

> cd venv
> .\Scripts\activate.bat

4. 退出环境

linux:

$ deactivate

Windows 10:

> .\Scripts\deactivate.bat

5. 删除环境

没有使用virtualenvwrapper前,可以直接删除venv文件夹来删除环境

6. 使用环境

进入环境后,一切操作和正常使用python一样 安装包使用pip install 包

二、使用Virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做: - 将所有虚拟环境整合在一个目录下 - 管理(新增,删除,复制)虚拟环境 - 快速切换虚拟环境

1. 安装

# on Windows
pip install virtualenvwrapper-win
# on macOS / Linux
pip install --user virtualenvwrapper
# then make Bash load virtualenvwrapper automatically
echo "source virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc

2. 创建虚拟环境

# on macOS/Linux:
mkvirtualenv --python=python3.6 venv
# on Windows
mkvirtualenv --python=python3 venv

3. 激活环境

workon #列出虚拟环境列表
workon [venv] #切换环境

4. 退出环境

deactivate

5. 删除环境

rmvirtualenv venv

6. 其他有用指令

pip freeze #查看当前安装库版本
#创建 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表
#保持部署相同,一键安装所有包
pip install -r requirements.txt
pip freeze > requirements.txt
lsvirtualenv #列举所有的环境
cdvirtualenv #导航到当前激活的虚拟环境的目录中,相当于pushd 目录
cdsitepackages # 和上面的类似,直接进入到 site-packages 目录
lssitepackages #显示 site-packages 目录中的内容

三、 使用conda管理

conda可以直接创建不同python版本的虚拟环境。前面讲的virtualenv只是指定创建不同python版本的虚拟环境,前提是你的电脑上已经安装了不同版本的python,与conda相比没有conda灵活。

1. 安装

下载anaconda安装的python直接可以使用conda工具

2. 创建虚拟环境

创建不同的python版本,直接写出版本号就好了,还可以同时安装想要的库。

# Python 2.7
$ conda create -n venv python=2.7 # Python 3.4
$ conda create -n venv python=3.4 # Python 3.5
$ conda create -n venv python=3.5

3. 激活虚拟环境

#on windows
activate venv
#on linux
source activate venv

4. 退出虚拟环境

#on windows
deactivate
#on linux
source deactivate

5. 删除虚拟环境

# 删除一个已有环境
conda remove --name venv --all

6. 其他有用指令

# 列出系统存在虚拟环境
conda info -e
conda env list # 查看当前环境下已安装的包
conda list # 查看某个指定环境的已安装包
conda list -n venv # 查找package信息
conda search numpy # 安装package
conda install -n venv numpy
# 如果不用-n指定环境名称,则被安装在当前激活环境
# 也可以通过-c指定通过某个channel安装 # 更新package
conda update -n venv numpy # 删除package
conda remove -n venv numpy

四. 使用pipenv管理

pipenv是Python官方推荐的包管理工具。 它综合了 virtualenv , pip 和 pyenv 三者的功能。能够自动为项目创建和管理虚拟环境。如果你使用过requests库,就一定会爱上这个库,因为是同一个大神出品。 pipenv使用 Pipfile 和 Pipfile.lock 来管理依赖包,并且在使用pipenv添加或删除包时,自动维护 Pipfile 文件,同时生成 Pipfile.lock 来锁定安装包的版本和依赖信息,避免构建错误。相比pip需要手动维护requirements.txt 中的安装包和版本,具有很大的进步。

1. 安装

pip install pipenv

2. 创建虚拟环境

$ cd myproject
$ pipenv install # 创建环境
$ pipenv install requests # 或者直接安装库

如果不存在pipfile,会生成一个pipfile,并且如果有的库添加会自动编辑该文件,不会我们手动更新requirements.txt文件了。

3. 激活Pipenv Shell

$ pipenv shell
$ python --version

批量pip

在包内打开窗口输入

pip install -r requirements.txt

将一个python环境导为requirements.txt的指令为为:

pip freeze >requirements.txt

pip换源

一次性使用

可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple

例如:pip install SomePackage -i https://pypi.tuna.tsinghua.edu.cn/simple

这样就会从清华这边的镜像去安装SomePackage库。

可选国内源:

永久修改,一劳永逸

linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url 为国内镜像地址,内容如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

windows下,直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,新建文件pip.ini,内容如下

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

pip常见问题

HTTPSConnectionPool(host='mirrors.tuna.tsinghua.edu.cn', port=443): Read timed

解决:

sudo pip install --default-timeout=100 future

当然,也可以放在设置文件内,即上文换源的设置文件

[global]
timeout = 60000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple #使用清华大学镜像源
[install]
use-mirrors = true
mirrors = https://pypi.tuna.tsinghua.edu.cn

python虚拟环境 + 批量pip + 换源的更多相关文章

  1. Python pip换源

    前言 哈喽呀,小伙伴们,晚上好呀,今天要给大家带来点什么呐,我们就来说说python的pip换源吧,这个换源,相对来说,还是比较重要的,能少生好几次气的,哈哈哈 为什么要换源 我们搞python的,肯 ...

  2. 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块

    第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...

  3. pip换源

    PIP 下载慢,给你Python3的pip换个源 一键换源 文章来源:企鹅号 - 从零开始学习python 要实现一键换源需要安装一个模块 pip install pqi PQI相关命令 PQI获取当 ...

  4. conda、pip换源以及conda、pip命令比较

    conda换源: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda ...

  5. pip 换源

    pip 换源 pip国内的一些镜像   阿里云 http://mirrors.aliyun.com/pypi/simple/   中国科技大学 https://pypi.mirrors.ustc.ed ...

  6. Windows下anaconda换源和pip换源

    换源解决下载安装速度慢的问题. 1. anaconda换源 打开cmd命令行,输入 conda config --set showchannelurls yes 会在C:\Users\xx文件夹下生成 ...

  7. [Python]Pip换源以及设置代理

    Install python package with proxy sudo pip install python-magic --proxy=https://your-proxy.com 2.No ...

  8. pip换源安装

    pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple 要安装的 有些工具安装太慢, 换源安装一下, 速度一下子飞起

  9. Python虚拟环境中pip install时没有权限问题

    virtualenv Permission denied 新建的python虚拟环境的目录的所属者必须是当前用户,才不会出现这种错误 比如 virtualenv py27 sudo chown zzf ...

随机推荐

  1. CAS(乐观锁)与ABA问题

    cas是什么 CAS 全称 compare and swap 或者compare and exchange  比较并且交换.用于在没有锁的情况下,多个线程对同一个值的更新. cas原理 例如,我们对一 ...

  2. 一时技痒,撸了个动态线程池,源码放Github了

    阐述背景 线程池在日常工作中用的还挺多,当需要异步,批量处理一些任务的时候我们会定义一个线程池来处理. 在使用线程池的过程中有一些问题,下面简单介绍下之前遇到的一些问题. 场景一:实现一些批量处理数据 ...

  3. JavaWeb网上图书商城完整项目--发送邮件

    1.首先注册一个163邮箱 自己的邮箱地址是18780279472@163.com 登陆的密码是key@wy111***19 使用邮箱发邮件,邮件必须开启pop和smtp服务,登陆邮件 开启pop服务 ...

  4. Jmeter(十三) - 从入门到精通 - JMeter定时器 - 上篇(详解教程)

    1.简介 用户实际操作时,并非是连续点击,而是存在很多停顿的情况,例如:用户需要时间阅读文字内容.填表.或者查找正确的链接等.为了模拟用户实际情况,在性能测试中我们需要考虑思考时间.若不认真考虑思考时 ...

  5. 理解C#中的ValueTask

    原文:https://devblogs.microsoft.com/dotnet/understanding-the-whys-whats-and-whens-of-valuetask/ 作者:Ste ...

  6. 用JQuery解析获取JSON数据

    JSON 是一种比较方便的数据形式,下面使用$.getJSON方法,实现获得JSON数据和解析,都挺方便简单的.从http://api.flickr.com/services/feeds/photos ...

  7. 基于 fetch 的请求封装

    原生 fetch 请求失败后(如无网络)状态会变成 reject 走 .catch .绝大多数情况下业务场景只需要给个 toast 等简单处理.每个请求都 .catch 会显得格外繁琐,并且如果不 . ...

  8. 策略模式、策略模式与Spring的碰撞

    策略模式是GoF23种设计模式中比较简单的了,也是常用的设计模式之一,今天我们就来看看策略模式. 实际案例 我工作第三年的时候,重构旅游路线的机票查询模块,旅游路线分为四种情况: 如果A地-B地往返都 ...

  9. hive中内置函数

    查看函数的详细使用方法 desc function extended 函数名 例如: 1).desc function extended locate locate(substr, str[, pos ...

  10. mysql主从搭建操作

    1.搭建说明准备工作:主从库已安装mysql软件以及xtracbackup备份工具.具体操作可参见mysql rpm安装文档. 介质 版本操作系统 Red Hat Enterprise Linux S ...