几个Python配置工具简介:setuptools、pip、virtualenv

2023-11-17

http://www.yeolar.com/note/2012/08/18/setuptools-pip-virtualenv/

本篇快速总结几个Python的常见配置工具,包括setuptools、pip、virtualenv。

setuptools

setuptools管理Python的第三方包,将包安装到site-package下,安装的包后缀一般为.egg,实际为ZIP格式。默认从 http://pypi.python.org/pypi 下载包,能够解决Python包的依赖关系。

安装了setuptools之后即可用 easy_install 命令安装包,有多种安装方式可以选择。

# easy_install PACKAGE          # 普通安装
# easy_install /home/yeolar/pkg/PACKAGE.egg # 从本地或网络文件系统中安装
# easy_install http://trac-hacks.org/svn/iniadminplugin/0.11/ # 从指定的下载路径安装
# easy_install http://pypi.python.org/simple/PACKAGE/PACKAGE-0.1.2.4.tar.gz # 从URL源码包安装,条件是PACKAGE-0.1.2.4.tar.gz包中的根目录中必须包括setup.py文件
# easy_install -f http://pypi.python.org/simple/ PACKAGE # 从web上面搜索包,并自动安装
# easy_install PACKAGE==0.1.2.1 # 指定包的版本,如果指定的版本高于现已安装的版本就是升级了

# easy_install -U PACKAGE       # 升级到最新版本,不指定版本就会升级到最新版本
# easy_install -U PACKAGE==0.1.2.2 # 升级到指定版本

# easy_install -m PACKAGE       # 卸载包,卸载后还要手动删除遗留文件

pip

pip也是一个包管理工具,它和setuptools类似,如果使用virtualenv,会自动安装一个pip。

# pip install PACKAGE           # 安装包
# pip -f URL install PACKAGE    # 从指定URL下载安装包
# pip -U install PACKAGE        # 升级包

virtualenv

virtualenv是一个Python环境配置和切换的工具,可以用它配置多个Python运行环境,和系统中的Python环境隔离,即所谓的沙盒。沙盒的好处包括:

  1. 解决库之间的版本依赖,比如同一系统上不同应用依赖同一个库的不同版本。
  2. 解决权限限制,比如你没有 root 权限。
  3. 尝试新的工具,而不用担心污染系统环境。
$ virtualenv py-for-web

这样就创建了一个名为py-for-web的Python虚拟环境,实际上就是将Python环境克隆了一份。然后可以用 source py-for-web/bin/activate 命令来更新终端配置,修改环境变量。接下来的操作就只对py-for-web环境产生影响了,可以使用 pip 命令在这里安装包,当然也可以直接安装。

$ source py-for-web/bin/activate    # 启用虚拟环境
$ deactivate                        # 退出虚拟环境

有个virtualenv-sh包,对virtualenv做了一些终端命令的增强。安装之后,在~/.bashrc中添加配置:

. /usr/local/bin/virtualenv-sh.bash

它提供的几个常用的命令如:

mkvirtualenv <env_name>     在$WORKON_HOME创建虚拟环境
rmvirtualenv <env_name>     删除虚拟环境
workon [<env_name>]         切换到虚拟环境
deactivate                  退出虚拟环境
lsvirtualenvs               列出全部的虚拟环境
cdvirtualenv [subdir]       进入虚拟环境的相应目录

$WORKON_HOME 的默认值为 ${HOME}/.virtualenvs


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

几个Python配置工具简介:setuptools、pip、virtualenv 的相关文章

  • Vue使用axios实现跨域请求

    在前后端分离的项目中 关键的一步就是能够进行跨域请求 可以通过前端发送请求访问不同端口的服务器获取数据 为了解决这一问题使用的是axios来实现跨域请求 一 安装axios 使用npm安装 npm install axios save 首先

随机推荐

  • less 命令详解

    less 命令详解 less 与more命令类似 但可以通过翻页键查看上下页的内容 b lt 缓冲区大小 gt 设置缓冲区的大小 e 当文件显示结束后 自动离开 f 强迫打开特殊文件 例如外围设备代号 目录和二进制文件 g 只标志最后搜索的
  • 通过域策略登录脚本收集域用户的登录/注销信息

    1 我们需要在域控制器上新建一个隐藏的共享文件夹 shoujifile 专门用于存放收集到的资料 如下图所示 登录和注销脚本代码如下 收集域用户注销计算机信息 On Error Resume Next strComputer Set lia
  • IDEA中部署git

    IDEA中使用 git 1 在Idea中配置 git 安装好 IntelliJ IDEA后 如果Git 安装在默认路径下 那么 idea 会自动找到 git 的位置 如果更改了 Git 的安装位置则需要手动配置下Git 的路径 选择 Fil
  • C# 语音识别

    在 NET4 0中 我可以借助System Speech组件让电脑来识别我们的声音 以上 当我说 你好 显示 Darren 我说 age 显示 永远21 如何做呢 首先要开启电脑的语音识别功能 右键电脑右下方的扬声器 选择 录音设备 点击默
  • 实现labelme批量json_to_dataset方法

    labelme可以帮助我们快速的实现Mask RCNN中数据集json文件的生成 然而还需要我们进一步的将json转成dataset 可以直接在cmd中执行labelme json to dataset exe C Users Admini
  • 校验码在线计算工具

    符合在合种场景下开发使用 LRC校验码在线计算器 ME2在线工具
  • NE555 + CD4017流水灯

    NE555 CD4017流水灯 1 完成此物只需要清楚2个点 1 NE555充当信号发生器 产生方波 信号即电信号 有高低电平之分 所谓方波就是在一个周期内 保持前a时间高电平 持续1 a时间内的低电平 0
  • js中如何实现字符串去重?

    聚沙成塔 每天进步一点点 专栏简介 使用 Set 数据结构 使用循环遍历 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅 这个专栏是为那些对Web
  • 一个页面好几个地方调用ajax,如何使用一个jquery ajax调用来更新页面上的多个区域?...

    我目前正在使用jQuery Ajax和PHP实现购物车 并且大部分工作正在进行 然而 我目前卡在如何更新购物车页面内容时 我更新购物车 因为此刻我返回的HTML更新侧栏中的购物车区域 工作正常 如何使用一个jquery ajax调用来更新页
  • 头条号个人中心登录_手把手教你如何在头条号中绑定百家号?

    现在的自媒体平台很多 很多人做自媒体时注册了多个平台 一般都是将自己制作的内容发到不同平台 由于每个平台都要审核发布内容是否符合平台规定 如果发现网上有相同内容被认为是抄袭可能审核不通过 因此 帐号之间关联在一起 平台就知道是这内容是同一作
  • 一种基于Redisson实现简单的分布式定时任务执行方案

    一般在springcloud下单机执行定时任务的代码 EnableScheduling public class TestTask Scheduled cron 0 public void test System out println s
  • SSM项目遇到的问题(5)

    SSM项目中前端传递的方式为post且格式为Json 遇到的问题 问题解决 遇到的问题 简单介绍一下 遇到的问题 前端传送的数据为Json格式 方法为post 也就是这样子的 但是在后端获取到的数据 死活都为null 不管接受的参数 是这样
  • 解决Error:Flash Download failed -“Cortex-M3”问题

    自己用的ST link下载程序 按照网友配置ST Link在keil5上的应用 结果就是这样的 首先我用的STM32F103ZET6建的工程 想把程序下载到STM32F103C8T6上 我看到其他博友说的问题有如下 1 在KEIL5上配置错
  • python爬虫学习笔记3

    1 selenium 1 什么是selenium 1 Selenium是一个用于Web应用程序测试的工具 2 Selenium测试直接运行在浏览器中 就像真正的用户在操作一样 3 支持通过各种driver FirfoxDriver Iter
  • tolua框架整理

    文 知乎 罗培羽 第一篇 代码热更新 这些日子在找Unity3D的现成框架 希望能给后续项目开发带来便利 找着找着 便关注到了LuaFramework 这是一套基于tolua的框架 可以实现热更新 然而相关的资料太少 磕磕碰碰的尝试之后 便
  • 计算方法实验(四):牛顿迭代法

    Newton迭代法数学原理 求非线性方程 f x 0 f x 0 f x 0的根
  • JavaAwtSwing FlowLayout可以居左居中居右

    new FlowLayout FlowLayout LEFT new FlowLayout FlowLayout CENTER new FlowLayout FlowLayout RIGHT package flowlayout impor
  • 使用osmdroid6.0.2加载谷歌、高德、天地图等瓦片地图

    研究了一星期多的Osmdroid6 0 2 深感这个开源的android地图包强大 因为使用其他瓦片涉及知识产权 请大家谨慎使用 本文只做研究测试 新建GoogleTileSource类继承org osmdroid tileprovider
  • 网页常用小技巧

    网页常用小技巧1 nc ntextmenu window event returnValue false 将彻底屏蔽鼠标右键 table border border td no td table 可用于Table 2 取消选取 防止复制 3
  • 几个Python配置工具简介:setuptools、pip、virtualenv

    http www yeolar com note 2012 08 18 setuptools pip virtualenv 本篇快速总结几个Python的常见配置工具 包括setuptools pip virtualenv setuptoo