virtualenv/pip的api

virtualenv-api的Python项目详细描述


Build StatusLatest versionBSD License

virtualenv是创建独立python环境的工具。不幸的是, 它不公开本机python api。此包旨在提供 环绕virtualenv的包装物的形式。

它可用于创建和删除环境以及执行包管理 在环境中。

对所有受支持的python版本都提供了完全支持。

安装

最新的稳定版本可在PyPi

$ pip install virtualenv-api

请注意,发行版名为virtualenv-api,而python 包名为virtualenvapi

或者,您可以从git获取最新版本:

$ pip install git+https://github.com/sjkingo/virtualenv-api.git

用法

开始管理一个环境(如果不存在的话,它将被创建):

fromvirtualenvapi.manageimportVirtualEnvironmentenv=VirtualEnvironment('/path/to/environment/name')

如果您已经激活了一个virtualenv并希望对其进行操作,只需 在不使用path参数的情况下调用VirtualEnvironment

env=VirtualEnvironment()

VirtualEnvironment构造函数接受一些可选参数(其默认值如下所示):

  • python=None-指定要使用的python解释器。默认为默认系统解释器(2.1.3中的新功能)
  • {TT5}$-现有目录以重写默认PIP下载缓存< /LI>
  • readonly=False-阻止所有可能修改环境的操作(2.1.7中的新功能)
  • system_site_packages=False-在环境操作中包含系统站点包(2.1.14中的新功能)

操作

一旦有了VirtualEnvironment对象,就可以对其执行操作。

  • 检查是否安装了mezzanine包:
>>>env.is_installed('mezzanine')False
  • 安装最新版本的mezzaninepackage:
>>>env.install('mezzanine')
  • 最新版本的mezzanine包的轮子(新的 2.1.4):
>>>env.wheel('mezzanine')
  • 安装django包的1.4版(这是pip的语法):
>>>env.install('django==1.4')
  • django包升级到最新版本:
>>>env.upgrade('django')
  • 将所有软件包升级到其最新版本(2.1.7中的新版本):
>>>env.upgrade_all()
  • 卸载mezzanine包:
>>>env.uninstall('mezzanine')

软件包只能指定为名称(用于最新版本),使用 pip的包语法(例如django==1.4)或('name', 'ver')的元组(例如('django', '1.4'))。

  • 包可以直接从git存储库安装(必须结束 使用.git):
>>>env.install('git+git://github.com/sjkingo/cartridge-payments.git')

2.1.10中的新功能:

    包可以在PIP的^ {EM1}$$EME>模式中安装,通过预装包 名称与-e(这是pip的语法):
>>>env.install('-e git+https://github.com/stephenmcd/cartridge.git')

2.1.15中的新功能:

  • PIP需求文件中的包可以通过预安装来安装 具有-r
  • 的需求文件路径
>>>env.install('-r requirements.txt')
  • 环境实例提供了installed_packages 属性:
>>>env.installed_packages[('django','1.5'),('wsgiref','0.1.2')]
  • 也可以以同样的方式提供软件包名称列表:
>>>env.installed_package_names['django','wsgiref']
  • 在pypi上搜索包(在2.1.5中更改:现在返回 字典而不是列表:
>>>env.search('virtualenv-api'){'virtualenv-api':'An API for virtualenv/pip'}>>>len(env.search('requests'))231
  • 可以使用env.search的旧功能(2.1.5之前的版本):
>>>list(env.search('requests').items())[('virtualenv-api','An API for virtualenv/pip')]

每个命令的详细输出在环境的 build.log文件,该文件随每个操作一起附加到。任何错误都是 已登录到build.err

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
调试Java toString()是否在toString中包含类名?   java多路复用程序   java Google map群集不适用于少量Cordinate   java如何在Android中设置和自定义不同的字体样式   Java版本比较   Spring引导升级后的java“未找到提供程序com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule”   java如何重新定位小程序查看器窗口?   java在适配器处于同一活动时在回收器视图中添加搜索视图   在Java中使用COM程序集   java在ListView中选择了什么操作?   java Hangman屏蔽字符串,取消隐藏字符   java为什么检查多个条件会返回不正确的结果   spring由:java引起。lang.ClassCastException:$ProxyX不能强制转换为my。包裹DefaultCustomerProviderImpl   java想要一些建议来清理一系列if语句   Java使用多个参数对对象进行排序