一种使用动态发现的sys.path运行python模块、包和脚本的方便方法。当您希望在不首先安装软件包的情况下使用这些软件包,或者避免使用复杂的python软件集合来解决引导问题时,这一点特别有用。

pyrun的Python项目详细描述


您无需安装 项目,直接运行pyrun.py文件。

例如,以下各项:

wget http://svn.wiretooth.com/svn/open/pyrun/trunk/pyrun.py
python pyrun.py  my/python/libs my/python/scripts/go.py

是运行带有sys.path的go.py模块所需的全部 从my/python/libs下的目录中自动发现。你可以 列出任意数量的目录和到实际python文件的路径。这个 顺序列出它们控制路径扩展项的顺序 建造。结果路径将不包含任何重复项。中的每个条目 路径扩展将是合法的导入路径。

注意:
提供一个setup.py文件-带有合适的egg入口点声明 -如果您喜欢的话。

对于标识python文件的每个参数,pyrun将定位根 打包目录并将其添加到路径中。带点的模块名absolute 以这种方式标识的第一个python文件中的模块 默认情况下,执行为“主”。您可以通过 使用pyrun的-m选项。

注意:
根包是“最顶层包”的父目录请参见 distutils python termsdistutils distutils terms

参数和选项与 目标模块是发现后遇到的第一个非选项参数 路径。如果该选项是一个pyrun选项(列表请参见pyrun --help) 然后pyrun接受它并将所有剩余的参数传递给目标模块 在经过适当按摩的sys.argv中。

如果目标模块接受参数但不自然接受选项 作为它的第一个参数(python setup.py install是典型的示例),然后 您可以使用--人工终止pyrun选项。

例如,可以在 以下方法

  • If you have setup tools installed:

    python setup.py bdist_egg
    
  • If your python distribution has not removed distutls from the python standard library:

    python setup.py sdist
    
  • If you have a copy of the setuptools egg in ^{tt8}$:

    python pyrun.py ../python/eggs -m setup bdist_egg
    python pyrun.py ../python/eggs setup.py -- bdist_egg
    

如果您有一个包含docutils源树或安装的目录 然后将其添加到发现路径将使setup.py脚本生成 this文档。

如果没有一个非option参数标识python模块文件,则 不要使用-m显式地选择一个,那么pyrun将只打印路径 它发现并退出。您可以强制使用^{tt10}打印路径$ 或-P

就python egg发行版而言,pyrun是相当聪明的。什么时候? 在发现路径上发现同一项目的多个egg分布 路径扩展中只包含找到的best版本。鸡蛋 与当前python解释器不兼容将被忽略。衡量 一个项目的best egg使用的算法与 由setuptools项目分发的pkg_resources.py模块。

注意:
当前版本不会筛选出鸡蛋的不兼容平台 包含c扩展名的-如果您有时间的话,请参见pyrun.filter_best_eggs 你的手,加这张支票没什么用。

此软件包的问题跟踪程序位于:

http://trac.wiretooth.com/public/wiki/pyrun

开罚单时,请将其分配给pyrun组件,或者至少, 在你的票务摘要中提到皮伦。

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

推荐PyPI第三方库


热门话题
swing如何在Java中从文本字段中删除逗号   java事务未激活异常EJB事务状态   在不打印新行的情况下更新java控制台   spring boot使用Java通过HTTP流式传输数据   java Right XPath语法,用于通过ID获取两种类型元素的节点列表   使用非明文密码的安全Java LDAP身份验证   java如何删除字符串中的字符,并将其用于另一个字符串   java使用Sikuli导出应用程序   java查找字符串以动态寻址串行端口   我对Java Mysql 8.0中的prepared语句有一个问题   JavaMail监视新消息   为什么列出pksc11tool七个对象,而Java密钥库只有一个   未报告的java异常。木卫一。IOException   java Spring Boot+Hibernate,使用@RequestBody对POST请求进行不正确的解析   java无法在配置单元中实例化错误   testcase成功后未生成java Serenity Bdd报告(在Eclipse和Jenkins中)