python虚拟环境 + 批量pip + 换源
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库。
可选国内源:
- 豆瓣:http://pypi.douban.com/simple/
- 中科大:https://pypi.mirrors.ustc.edu.cn/simple/
- 清华:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里云 http://mirrors.aliyun.com/pypi/simple/
永久修改,一劳永逸
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 + 换源的更多相关文章
- Python pip换源
前言 哈喽呀,小伙伴们,晚上好呀,今天要给大家带来点什么呐,我们就来说说python的pip换源吧,这个换源,相对来说,还是比较重要的,能少生好几次气的,哈哈哈 为什么要换源 我们搞python的,肯 ...
- 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块
第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...
- pip换源
PIP 下载慢,给你Python3的pip换个源 一键换源 文章来源:企鹅号 - 从零开始学习python 要实现一键换源需要安装一个模块 pip install pqi PQI相关命令 PQI获取当 ...
- conda、pip换源以及conda、pip命令比较
conda换源: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda ...
- pip 换源
pip 换源 pip国内的一些镜像 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.ed ...
- Windows下anaconda换源和pip换源
换源解决下载安装速度慢的问题. 1. anaconda换源 打开cmd命令行,输入 conda config --set showchannelurls yes 会在C:\Users\xx文件夹下生成 ...
- [Python]Pip换源以及设置代理
Install python package with proxy sudo pip install python-magic --proxy=https://your-proxy.com 2.No ...
- pip换源安装
pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple 要安装的 有些工具安装太慢, 换源安装一下, 速度一下子飞起
- Python虚拟环境中pip install时没有权限问题
virtualenv Permission denied 新建的python虚拟环境的目录的所属者必须是当前用户,才不会出现这种错误 比如 virtualenv py27 sudo chown zzf ...
随机推荐
- Python--字典(三级菜单)
# -*- coding:utf-8 -*- data = { "腾讯":{ "LOL":{ "上单":["诺手",&q ...
- 面试了 6 轮 Google 中国 之后,还是挂了
去年换工作的时候, 面试了一下 Google (这里说的是 Google 中国哈), 来了个 Google 面试六轮游, 结果是没通过.
- 学习第一个python程序
打印9*9惩罚表 for i in range(1,10): for j in range(1,i+1): print(str(j)+"*"+str(i)+"=" ...
- 使用torch实现RNN
(本文对https://blog.csdn.net/out_of_memory_error/article/details/81456501的结果进行了复现.) 在实验室的项目遇到了困难,弄不明白LS ...
- 基于Web的监控系统的开发进行分布式和现代生产(外文翻译)
摘要 近年来,Web技术发展迅速.尤其是网络浏览器增强了其功能因为JavaScript,CSS3和HTML5的改进.因此,功能越来越丰富的基于Web的软件解决方案功能范围可用.通过使用响应式网页设计( ...
- JPS/JPS+ 寻路算法
目录 概念 强迫邻居(Forced Neighbour) 跳点(Jump Point) JPS 寻路算法(Jump Point Search) 实现原理 示例过程 JPS+(Jump Point Se ...
- php读取富文本处理html标签问题
thinkphp的一项配置会将富文本编辑器的内容中的html标签进行转义处理 'DEFAULT_FILTER' => 'htmlspecialchars', // 默认参数过滤方法使用htmls ...
- upd套接字服务器与客户端交互C++代码示范
upd套接字服务器与客户端交互C++代码示范 // vc2_2_4UDPserver_Txwtech.cpp : 定义控制台应用程序的入口点. //服务器端 #include "StdAfx ...
- jmeter在Windows下安装(含插件安装)
[准备环境] jdk1.8 jmeter的安装包下载 [步骤] 1 把下载下来的压缩包解压,点击jmeter.bat 启动,启动后是英文界面 2 修改默认的英文界面,打开jmeter.properti ...
- ElasticSearch中倒排索引和正向索引
ElasticSearch搜索使用的是倒排索引,但是排序.聚合等不适合倒排索引使用的是正向索引 倒排索引 倒排索引表以字或词为关键字进行索引,表中关键字所对应的记录项记录了出现这个字或词的所有文档,每 ...