virtualenv/pip的api
virtualenv-api的Python项目详细描述
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中的新功能:
-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。