跨virtualenv边界安装包的项目。
mork的Python项目详细描述
摘要
Mork是一个用于在虚拟机中安装和查询python包的库 环境。
查看安装了什么
>>> import mork >>> venv = mork.VirtualEnv.from_project_path('/home/user/git/pipenv') >>> dists = venv.get_distributions() >>> [dist for dist in dists][:3] [wheel 0.31.1 (/home/user/.virtualenvs/pipenv-MfOPs1lW/lib/python3.7/site-packages), Werkzeug 0.14.1 (/home/user/.virtualenvs/pipenv-MfOPs1lW/lib/python3.7/site-packages), vistir 0.1.4 (/home/user/.virtualenvs/pipenv-MfOPs1lW/lib/python3.7/site-packages)]
安装一个包
>>> from requirementslib.models.requirements import Requirement >>> r = Requirement.from_line("requests") >>> venv.install(r, editable=False)
卸载软件包
>>> pkg = "pytz" >>> with venv.uninstall(pkg, auto_confirm=True) as uninstall: if uninstall.paths: cleaned = pkg >>> print("Removed package: %s" % cleaned)
显示有关python的信息
>>> venv.python '/home/user/.virtualenvs/pipenv-MfOPs1lW/bin/python' >>> venv.python_version '3.7'
在virtualenv内部运行命令
>>> cmd = venv.run("env") >>> [line for line in cmd.out.splitlines() if line.startswith("VIRTUAL_ENV")] ['VIRTUAL_ENV=/user/hawk/.virtualenvs/pipenv-MfOPs1lW'] >>> cmd = venv.run_py(["import os; print(os.environ.get('VIRTUAL_ENV'))"]) Deactivating virtualenv... >>> cmd.out '/home/user/.virtualenvs/pipenv-MfOPs1lW\n' >>> with venv.activated(): print(os.environ["VIRTUAL_ENV"]) /home/hawk/.virtualenvs/pipenv-MfOPs1lW