探索python包,就像你的名字是fernando一样。
magellan的Python项目详细描述
explore python包依赖项,就像您的名字是fernando一样!
任务/目标:
总体目标是进行冲突检测的包探索。
例如,从库的一个版本转到另一个版本(即升级django) 当某些依赖项需要升级时,可能会导致冲突,但其他依赖项 取决于早期版本。可能需要升级,因为 重要的安全更新不再在平台上维护,因此 这需要一个解决方案。
安装:
注意:最好把麦哲伦安装到它自己的专用环境中,以免污染你正在审问的结果。
python setup.py安装
命令行接口:
麦哲伦<;选项>;
选项:
位置参数
- <packages>例如Package1 Package2 etc..
- 要浏览的包。
可选参数
- -h,--help
- 显示此帮助消息并退出
- -f <package_file>, --package-file <package_file>
- 包含包列表的文件
- -r <requirements_file>, --install-requirements <requirements_file>
- 要安装的要求文件(如requirements.txt)。
- -n <venv_name>, --venv-name <venv_name>
- 指定虚拟环境的名称,默认值为ismagenv0、magenv1等
功能,输出
- -A<package-name>,--get-ancestors<package-name>
- 显示环境中哪些包依赖于<;包名称>;
- -Z<package-name>,--get-descendants<package-name>
- 显示环境中的哪些包<;包名称>;取决于;如果包不在pyp上,则可能有用。
- -D<package-name> <version>, --get-dependencies<package-name> <version>
- 从pypi获取包、版本组合的依赖项。nb可以多次使用,但必须始终指定所需的版本。用法-d<;包名称>;<;版本>;
- -C,--detect-env-conflicts
- 在指定环境中运行已安装的程序包,以检测依赖项和版本之间是否存在任何冲突。
- -P <package> <version>, --package-conflicts <package> <version>
- 通过添加或更改检查包是否与当前环境冲突。nb可以多次使用,但必须始终指定所需版本。
- -O,--outdated
- 检查包的主要/次要版本是否过时。
- -R,--compare-env-to-req-file
- 将需求文件与环境进行比较。
- -l <package>, --list-all-versions <package>
- 在PyPI上列出所有版本的包并退出。nb可以多次使用;取代-s/-p。
- -s,--show-all-packages
- -p,--show-all-packages-and-versions
- 用版本显示所有包并退出.< /dD>
配置参数
- -v,--verbose
- 详细模式
- --super-verbose
- 超级详细模式
- --path-to-env-bin<path-to-env-bin>
- 虚拟环境bin的路径
- --cache-dir<cache-dir>
- 缓存目录-用于PIP安装。
- --keep-env-files
- 不要删除节点、边、包要求env文件。
- --no-pip-update
- 如果调用,则在创建新虚拟环境时不会更新到pip的最新版本。
- --logfile
- 设置此标志以启用对magellan.log的输出。
- --colour | --color
- 用漂亮的颜色将输出打印到控制台。
示例用法:
- magellan | magellan -h
- 打印帮助文件。
- magellan -R-r requirements.txt -n MyEnv
- 比较需求文件与环境之间的差异。
- magellan <packages> -O | magellan -O | magellan -O-f myPackageFile.txt
- 检查包以查看它们在主要/次要版本上是否过时。如果没有指定包或文件,则会检查环境中的所有包或文件。
- magellan -r requirements.txt -O
- 检查需求文件中过时的主要/次要版本。
- magellan -n MyEnv -P PackageToCheck Version
- 升级或添加新包时突出显示与当前环境的冲突。 注意这个参数可以被多次调用,例如“magellan-n myenv-p django 1.8.1-p pbr 1.0.1”
- magellan -n MyEnv -C 德国环境“myenv”中的tect冲突
- magellan -n MyEnv --package-file myPackageFile.txt --super-verbose
- 使用“超级详细”(即调试)模式分析mypackagefile.txt中的包。
- magellan -l <package>
- 列出PYPI上提供的<;软件包>;的所有版本。
- magellan -s / magellan -p
- 显示当前环境中的所有包(-p和版本)。不进行进一步分析。
- magellan -s-n MyEnv
- 显示myenv环境中的所有包。
- magellan -s > myPackageFile.txt
- 输出当前环境中的所有包并直接导入mypackagefile.txt。
已知问题: -找到scipy的需求是不可能的,因为它在系统包(blas等)上有一些先决条件。 已修复,以便麦哲伦不会在失败的安装/pip崩溃时崩溃。