我编写了一个C扩展来访问来自专有库的相机的错误消息。结构是
setup.py
dicamsdk\
|---__init__.py
|---control.py
|---pcoError.c
使用setup.py
并且control.py
打算使用
from . import pcoError
当我试图构建(或安装)这个包时,我总是收到错误ImportError: cannot import name 'pcoError'
。在
{{{cd5}似乎只能通过 在我的setup.py
中是否有一个解决方案可以首先编译我的扩展以实现一个简单的安装?在
{{cd1>在导入开始时是问题。第2行中的导入(
from dicamsdk.control import __version__
)强制对模块进行代码检查。在删除后,包的安装或生成将正确运行。在
基于您自己的答案,一个更合适的解决方案:
您的版本大概是针对整个项目的,而不仅仅是控制模块。在
__init__.py
中定义__version__
是标准的。在这种情况下,setup.py
中的导入看起来像from dicamsdk import __version__
。这不会导致冲突,除非您做一些愚蠢的事情,比如从包根自动导入所有模块。在相关问题 更多 >
编程相关推荐