个人常用:pipenv

  1. 安装
pip3 install pipenv
  1. 创建虚拟环境
# 默认安装在~/.local/virtualenv下
mkdir project
cd project
pipenv install
# 安装在自定义目录
# 设置环境变量WORKON_HOME
export WORKON_HOME=/usr/local/venv # 或者把环境安装在工程目录
export WORKON_HOME=PIPENV_VENV_IN_PROJECT

生成两个文件,Pipfile和Pipfile.lock,代替requirement.txt文件,Pipfile可以修改pypi地址

  1. 安装python包
pipenv install requests

pipenv install requests --dev   #安装到开发环境
  1. 查看安装包及依赖
pipenv graph
  1. 兼容requirements.txt文件
pipenv lock -r >requirements.txt
pipenv lock -r --dev >requirements.txt pipenv install -r requirements.txt
  1. 运行py代码
# 方法一:
pipenv run python xxx.py # 方法二:
切换虚拟环境
pipenv shell 退出虚拟环境用exit命令 # 方法三:
直接运行虚拟环境命令
~/.local/virtualenv/{project}/bin/python xxx.py
  1. 删除python包
pipenv uninstall {module}
pipenv uninstall --all #卸载所有包
  1. 删除虚拟环境
cd project
pipenv --rm
  1. 迁移环境
# A主机的test环境迁移到B主机
# (1)在B主机安装一个基础环境
cd /usr/local/test/
pipenv install
cd ~/.local/virtualenv/
rm test-{keyB} -rf
# (2)把A主机的环境复制过来,修改环境目录自带的key值
scp -r A:~/.local/virtualenv/test-{keyA} ./
mv ./test-{keyA} ~/.local/virtualenv/test-{keyB}

注:用pipenv虚拟anaconda的环境时特别慢,且迁移后会报错SSLError。
因为anaconda使用自带的ssl模块,而不使用linux的openssl库。
把anaconda下的libcryto.so和libssl.so两个动态库复制到虚拟环境的lib目录下即可。

  1. 常用命令
pipenv --where  #列出本地工程路径
pipenv --venv #列出虚拟环境路径
pipenv --py #列出虚拟环境的python可执行文件

其他:

一、virtualenv

  1. 安装virtualenv
pip3 install virtualenv
  1. 建立虚拟环境
mkdir -p /data/venv/
cd /data/venv
virtualenv --no-site-packages testvenv
# 加参数--no-site-packages,已经安装到系统Python环境中的所有第三方包都不会复制过来,
# 可以得到了一个不带任何第三方包的“干净”的Python运行环境。 virtualenv --no-site-packages -p /usr/bin/python2.7 testvenv
# -p指定默认python版本
  1. 切换虚拟环境
source /data/venv/testvenv/bin/activate
  1. 退出虚拟环境
deactivate
  1. 迁移虚拟环境
cd /data/venv/
# 打包整个环境
zip -r testvenv.zip ./testvenv
# 复制到其他机器或其他位置,解压即可使用
  1. 删除虚拟环境
cd /data/venv/
rm -rf testvenv

二、venv模块

python3.3之后原生包含venv模块,python3.4开始使用venv模块生成虚拟环境自带pip

$ python -m venv -h
usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]
[--upgrade] [--without-pip]
ENV_DIR [ENV_DIR ...] Creates virtual Python environments in one or more target directories. positional arguments:
ENV_DIR A directory to create the environment in. optional arguments:
-h, --help show this help message and exit
--system-site-packages
Give the virtual environment access to the system
site-packages dir.
--symlinks Try to use symlinks rather than copies, when symlinks
are not the default for the platform.
--copies Try to use copies rather than symlinks, even when
symlinks are the default for the platform.
--clear Delete the contents of the environment directory if it
already exists, before environment creation.
--upgrade Upgrade the environment directory to use this version
of Python, assuming Python has been upgraded in-place.
--without-pip Skips installing or upgrading pip in the virtual
environment (pip is bootstrapped by default) Once an environment has been created, you may wish to activate it, e.g. by
sourcing an activate script in its bin directory.
[root@optest01 ~]# python3 -m venv testvenv    #生成虚拟环境
[root@optest01 ~]# source testvenv/bin/activate #进入虚拟环境
(testvenv) [root@optest01 ~]# python -V
Python 3.4.5
[root@optest01 ~]# which python
/root/testvenv/bin/python
[root@optest01 ~]# which pip
/root/testvenv/bin/pip
[root@optest01 ~]# deactivate #退出虚拟环境

三、pyenv

https://zhuanlan.zhihu.com/p/27294128

四、Anaconda

1、Anaconda安装
(1)下载:https://www.anaconda.com/distribution/#download-section
(2)执行:bash Anaconda-xxx.sh
(3)环境变量生效:source ~/.bashrc
(4)安装成功:conda --version

2、环境、版本管理
(1)创建python2.7版本和3.6版本

conda create --name python2 python=2.7.12
conda create --name python3 python=3.6.6
默认情况下,新创建的环境将会被保存在/Users/<user_name>/anaconda3/env目录下。
其中,<user_name>为当前用户的用户名
若要创建python版本的同时添加依赖包:conda create -n python3 python=3.6 numpy=1.1 pandas

(2)切换环境

source activate python3

(3)退出环境

source deactivate

(4)显示已创建环境

conda info --envs
conda env list

(5)复制环境

conda create --name BScore --clone python3
conda create -n test --clone /usr/local/venv/py3_k2
conda create --name test --clone base # 如果在生产无法联网的环境,新建环境可以用复制基础环境的方式

(6)删除环境

conda remove --name python3 --all

(7)导出及加载环境

conda env export > env_name.yml #导出
conda create -f env_name.yml #加载

3、管理依赖包
(1)查找

conda search --full-name flask
conda search flask

(2)当前环境已安装包信息

conda list

(3)安装包

conda install --name flask
建议还是用pip,切换到指定环境使用pip进行安装 pip install flask

(4)卸载包

conda remove --name python3 flask

(5)更新指定包

conda update flask

(6)管理conda镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
# 清华镜像站说明 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

python——虚拟环境管理大合集的更多相关文章

  1. 【分享】Python学习资源大合集

    地址:http://www.hejizhan.com/html/xueke/520/x520_03.html Python安装软件合集(Windows)(78) Python教程——游戏编程(13) ...

  2. python字符串操作实方法大合集

    python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下:   #1.去空格及特殊符号 s.st ...

  3. ubuntu 18.04 搭建flask服务器(大合集,个人实操)

    ubuntu 18.04 搭建flask服务器(大合集) Ubuntu python flask 服务器 本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4. ...

  4. 从零开始学数据分析,什么程度可以找到工作?( 内附20G、5000分钟数据分析工具教程大合集 )

    从零开始学数据分析,什么程度可以找到工作?( 内附20G.5000分钟数据分析工具教程大合集 )   我现在在Coursera上面学data science 中的R programming,过去很少接 ...

  5. 【Oracle教程资源大合集】Oracle数据库免费学习资源汇总

    Oracle的产品非常丰富,各类学习资源也五花八门,本文将介绍Oracle官方的免费教程与风哥整理的Oracle视频教程: 1.Oracle帮助中心 Oracle帮助中心也称为Oracle文档中心,这 ...

  6. Lucene搜索方式大合集

    package junit; import java.io.File; import java.io.IOException; import java.text.ParseException; imp ...

  7. 【收藏】Java多线程/并发编程大合集

    (一).[Java并发编程]并发编程大合集-兰亭风雨    [Java并发编程]实现多线程的两种方法    [Java并发编程]线程的中断    [Java并发编程]正确挂起.恢复.终止线程    [ ...

  8. [题解+总结]动态规划大合集II

    1.前言 大合集总共14道题,出自江哥之手(这就没什么好戏了),做得让人花枝乱颤.虽说大部分是NOIP难度,也有简单的几道题目,但是还是做的很辛苦,有几道题几乎没思路,下面一道道边看边分析一下. 2. ...

  9. [题解+总结]NOIP动态规划大合集

    1.前言 NOIP2003-2014动态规划题目大合集,有简单的也有难的(对于我这种动态规划盲当然存在难的),今天就把这些东西归纳一下,做一个比较全面的总结,方便对动态规划有一个更深的理解. 2.NO ...

随机推荐

  1. 黑客帝国纯js版

    明天就回家过年了,今天没什么心思上班,看了下博客,发现一个黑客帝国额js版本,地址:https://blog.csdn.net/zhongyi_yang/article/details/5384180 ...

  2. Kubernetes-Kuboard

    前言 本篇是Kubernetes第十五篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战. Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 Kubern ...

  3. CSS基础 精灵图的使用

    使用步骤1.创建盒子     <div class="one"></div>   2.使用PxCook量取图标大小,将图标的宽高设置成为盒子的宽高      ...

  4. Python基础之pytest参数化

    上篇博文介绍过,pytest是目前比较成熟功能齐全的测试框架,使用率肯定也不断攀升.在实际 工作中,许多测试用例都是类似的重复,一个个写最后代码会显得很冗余.这里,我们来了解一下 @pytest.ma ...

  5. python 日志logging设置按天进行保存,保存近7天,过期日志自动清理

    参考文章(写的很详细):https://www.cnblogs.com/xujunkai/p/12364619.html 前言: 跑接口自动化或者其他程序运行时,如果只能保存一份log文件,可能会存在 ...

  6. CentOS 系统 查看 cpu核数

    转载自 :Centos下查看cpu核数 - 韩憨 - 博客园 (cnblogs.com) 1.概念物理CPU:实际Server中插槽上的CPU个数.物理cpu数量:可以数不重复的 physical i ...

  7. python的赋值、浅拷贝和深拷贝

    """ 一.赋值在python中就是简单的对象引用 """ list_a = ["aaa", "bbb&quo ...

  8. 第10组 Beta冲刺 (1/5)(组长)

    1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14012521.html ·作业博客:https://edu.cnblogs.co ...

  9. PPT变为gif效果

    原文链接:https://www.toutiao.com/i6496812863263343117/ 首先我们点击"文件按钮" 在下拉列表中选择"另存为" 在& ...

  10. 方法覆盖 和toString方法的作用

    当我们代码怎么编写的时候,在代码级别上构成了方法的覆盖呢? 两个类必须要有继承关系. 重写之后的方法和之前的方法具有:相同的返回值类型 相同的方法名 相同的形参列表 访问权限不能更高,只能更低 重写之 ...