问题标签 [cimport]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - How do you get cimport to work in Cython?
I have a directory structure as so:
/my_module
init.py
A/
B/
In b.pyx I want to cimport functions from A.a. A regular python import works, but a cimport always fails.
Also, I'm compiling A/ and B/ separately because I couldn't figure out how to put a setup.py in the top module.
Can anyone help here?
python - `cimport numpy` 使用 Cython 引发错误
我正在尝试将cimport
NumPy 从.pyx
文件中转换为 Python 2.7 shell,但它一直给我同样的错误:
我创建了一个.pyx
名为的文件,numpyx
只是为了查看它是否是我正在运行的更大代码的一部分,该文件包含:
我每次都会收到以下错误:
我不明白为什么它不起作用,因为只要文件不在其中,它就.pyx
可以很好地编译文件cimport
。
如果有人能对此有所了解,那就太好了!
python - `cimport` 导致交互式 Python 解释器出错
在 Python 解释器中运行cimport cython
或运行cimport numpy
会导致以下错误:
是环境变量路径问题吗?或者它不应该在解释器中运行?请帮忙。我花了几天时间试图摆脱这个错误。(顺便说一句,编译使用...的 .pyx 文件时我没有收到错误cimport numpy
)谢谢!奥列格
python - cython:不允许超出主包的相对 cimport
我正在尝试在 cython 中使用显式相对导入。从发行说明看来,相对导入应该在 cython 0.23 之后工作,而我正在使用 0.23.4 和 python 3.5。但是我得到了这个奇怪的错误,我找不到很多参考资料。错误仅来自 cimport:
目录结构为:
看来我可能在 setup.py 中搞砸了,所以我包含了下面的所有文件。
setup.py
driver.pyx
other.pyx
other.pxd
我试过__init__.py
搬进test/
. 我试过setup.py
在test
目录中运行(include_dirs
适当调整)。他们都给出了同样的错误。
如果我这样做cimport other
并删除.
它可以工作,但这是一个玩具示例,我需要相对导入,以便其他文件夹可以正确导入。这是我能找到的唯一一个关于这个错误的例子,我很有信心我的问题是不同的。
python - 为什么我的用于 pxd 文件的 Cython cimport 不起作用?
我是 Cython 的新手,所以我可能会遗漏一些明显的东西,但我已经阅读了文档并且一直在努力解决这个问题。
我有一个*.pyx
使用文件构建的setup.py
文件,如下所示:
这很好,我现在可以import path.to.helpers
从姐妹目录和子目录中没有任何问题。
现在,最近我决定我也想添加一个helpers.pxd
文件,这样我就可以cimport
将它的一部分添加到其他 Cython 模块中。我添加了一个helpers.pxd
inpath/to
来促进这一点,但是当我尝试时cimport path.to.helpers
,我得到
错误。我是否需要更改setup.py
文件中的某些内容以允许cimport
从*.pxd
文件中读取?
我发现的所有文档都没有说明这样做,我觉得我已经尝试了一切,但没有任何运气。想法?
python - 构建包含多个 Cython 扩展的 Python 包
我有以下目录结构:
其中文件内容如下:
bar.pxd
bar.pyx
foo.pyx
stuff.py
setup.py
问题
问题是,当我尝试安装它(pip install -e .
在顶级testcython
目录中)时,我从 Cython 收到以下错误:
这个答案(cython: relative cimport beyond main package is not allowed)意味着在对象的参数中包含根目录( '.'
)应该可以解决问题。include_dirs
Extension
虽然Cython 文档的这一部分提到在使用包时zip_safe=False
的参数中使用。setup
setuptools
正如您从我setup.py
上面的文件中看到的那样,我已经包含了这两个 - 但我仍然收到上面的错误。
注意:如果我将扩展名(在Extension
构造函数中)分别从Bar
和Foo
更改为testcython.Bar
和testcython.Foo
,那么我会得到一个不同的错误:
python - 设置 setuptools 以创建带有可用标头的 cimportable 包
我尝试实现答案https://stackoverflow.com/a/57480599/7482208,但我坚持从另一个包导入一个包。
代码在这里:https ://github.com/iamishalkin/setuptools_cython_question
我想要的是wrap
从 wrapper 文件夹中获得一个独立的包,这样您就可以在没有cust
包的情况下使用它。
而且我还希望能够通过FuncWrapper
从wrap
.
我所做的:
- 首先我
python setup.py bdist_wheel
在wrapper
文件夹中运行(我想这是我做错了,因为它只给了我二进制文件) - 下一个
pip instal dist/(some_name).whl
- 接下来我添加
import wrap
并include_dirs=wrap.get_include()
喜欢custom/setup.py
它完成numpy
- 我
python setup.py bdist_wheel
在custom
文件夹中运行,但失败了,第一步没有创建除二进制文件之外的文件
所以问题是:如何将.pxd
文件添加到最终包中。
我也试过sdist
不编译 cython 代码而只是复制它。