Python扩展未安装到子包中

2024-06-16 17:49:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图构建一个Python扩展并使用distutils将其打包,但是不管我如何命名,该扩展都安装在根包中。我的目录布局如下所示:

foo/bar/extension.c

我的setup.py如下所示:

^{pr2}$

我设置了一个virtualenv并运行

python setup.py install

然后在我的Python shell中:

>>> import foo.bar.extension
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named invest_cython_core
>>> import extension #This works!

我可以做些什么更改,以使第一个import语句正常工作,第二个导入语句失败?在


Tags: pyimport目录virtualenvfoosetupextensionbar
1条回答
网友
1楼 · 发布于 2024-06-16 17:49:13

我认为您需要使用foo/__init__.py和{},这样distutils首先安装这些包,然后安装扩展模块。(在这里,一个错误比无声的错误行为要好,我将打开一个错误报告,以便distutils2表现得更好。)

您使用的是自定义生成扩展类吗?(在您的示例中,因为cmdclass={'build_ext': build_ext}而询问)可能在问题中起到了一定的作用。在

相关问题 更多 >