一种使用动态发现的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第三方库


热门话题
算法根据Java中传递的参数定义数据类型   java将图像文件存储在Google云存储桶中后,显示大小为“0字节”的所有文件列表   swing Java表模型删除Bounds 1的行排列   java中表上的for循环基本迭代   带有Http请求和UTF8的java下载文件   java滞后于setImageDrawable   java如何使用println按单位打印同一列中的数字列表?   中文Windows版本的Java默认编码   java编程项目,ADT列表   无法识别java消息部分MyClass。(它是否存在于服务WSDL中?)   java从IJavaProject或IProject获取到org。阿帕奇。专家模型模型   如何使用枚举(如java类变量)实现运行时同态?   使用集合对特定于Java的练习进行排序。分类   调试如何调试已作为exe文件运行的java应用程序?   java如何将带有模块的项目导入到另一个项目中,而不丢失封装?