测试Python包中的可执行文件

吉米·库德拉(Jimmy Cuadra)

我是一个Ruby程序员,致力于第一个Python程序包(我们称其为foo)。它的主要目的是作为命令行工具。我指定使用以下命令将其安装为可执行文件setup.py

setup(
    entry_points={
        'console_scripts': [
            'foo = foo.cli:main'
        ]
    }
)

foo/cli.py 包含:

import foo

def main():
    # program logic here

if __name__ == '__main__':
    main()

cli.py需要引用foo.__version__在中定义的引用foo/__init__.py,但是当我在python foo/cli.py本地运行以测试CLI时,import foo将引发ImportError: No module named foo运行这样的单个文件时,如何让Python在foo包的上下文中看到cli.py?我的方法完全错误吗?您通常如何在本地测试使用setuptools的入口点定义的可执行文件?

普拉哈拉德·德什潘德(Prahalad Deshpande)

您缺少将sys.pathPYTHONPATH变量修改为也包含foo /所在目录的信息

在运行cli.py文件之前,在命令提示符下执行以下操作

codepython@vm-0:~/python/foo$ PYTHONPATH=$PYTHONPATH:~/python/;export PYTHONPATH

在这里,在我的设置富/是中存在〜/蟒蛇和存在_ INIT _.py富/告诉Python解释FOO是一个包,而不是一个普通的目录。

现在您可以cd进入foo /目录,然后运行python cli.py您将能够访问foo包的方法和函数。

或者,在main()中,您可以先修改,sys.path以附加包含foo /的目录,然后执行其余逻辑

引用有关模块的Python文档

导入名为spam的模块时,解释器首先搜索具有该名称的内置模块。如果找不到,它将在变量sys.path给出的目录列表中搜索名为spam.py的文件。sys.path从以下位置初始化:

包含输入脚本的目录(或当前目录)。PYTHONPATH(目录名称列表,语法与shell变量PATH相同)。取决于安装的默认值。初始化后,Python程序可以修改sys.path。包含正在运行的脚本的目录位于搜索路径的开始,在标准库路径的前面。这意味着将加载该目录中的脚本,而不是库目录中相同名称的模块。除非打算进行更换,否则这是一个错误。有关更多信息,请参见标准模块部分。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

包括python包Dependecy作为可执行文件

来自分类Dev

包括python包Dependecy作为可执行文件

来自分类Dev

测试Unix中是否存在可执行文件

来自分类Dev

测试Unix中是否存在可执行文件

来自分类Dev

在Jmeter中运行C可执行文件(测试)

来自分类Dev

XCTest:无法找到捆绑包“目标测试”,因为找不到其可执行文件

来自分类Dev

从软件包安装的可执行文件列表

来自分类Dev

从软件包安装的可执行文件列表

来自分类Dev

通过包而不是可执行文件安装 chromedriver

来自分类Dev

如何使用CMake将测试可执行文件放入单独的文件夹中?

来自分类Dev

寻找基于可执行文件的测试框架

来自分类Dev

测试有效的可执行文件

来自分类Dev

将NET4打包到可执行文件中

来自分类Dev

列出CTest测试套件中可执行文件的位置

来自分类Dev

如何使 ctest 在临时/临时目录中运行测试可执行文件

来自分类Dev

如何获取python可执行文件的文件路径

来自分类Dev

可执行文件上的 Python 文件提取器

来自分类Dev

在可执行文件中“隐藏”文件 (C++)

来自分类Dev

Python virtualenv-> venv / bin / python中的新python可执行文件

来自分类Dev

Python virtualenv-> venv / bin / python中的新python可执行文件

来自分类Dev

使用Python从可执行文件/批处理文件中检索值

来自分类Dev

声子使python可执行文件崩溃

来自分类Dev

Python3上的扭曲可执行文件

来自分类Dev

Python可执行文件作为Windows服务

来自分类Dev

如何从Python运行可执行文件?

来自分类Dev

如何运行Nuitka编译的Python可执行文件

来自分类Dev

找不到Graphviz的可执行文件(Python 3.4)

来自分类Dev

如何制作Python程序的可执行文件?

来自分类Dev

用可执行文件打包Python库

Related 相关文章

热门标签

归档