Cython的PyCharm设置
我明白了 我总是可以在终端中编译和运行,但我想知道是否有办法在PyCharm中实现这一点。在链接中,它说:“编译是使用外部工具完成的。首选的构建系统(Makefile、setup.py等)应该配置为外部工具。”我想知道如何进行这种配置。一个使用Cython的PyCharm中的Hello World小示例将不胜感激Cython的PyCharm设置,pycharm,cython,Pycharm,Cython,我明白了 我总是可以在终端中编译和运行,但我想知道是否有办法在PyCharm中实现这一点。在链接中,它说:“编译是使用外部工具完成的。首选的构建系统(Makefile、setup.py等)应该配置为外部工具。”我想知道如何进行这种配置。一个使用Cython的PyCharm中的Hello World小示例将不胜感激 谢谢你在这里回答我自己的问题: 假设我们有函数fib.pyx: 此处包含ext\u选项,用于生成带有注释的html文件。要运行此文件,必须转到工具-->运行setup.py任务。然后键
谢谢你在这里回答我自己的问题: 假设我们有函数fib.pyx: 此处包含
ext\u选项
,用于生成带有注释的html文件。要运行此文件,必须转到工具-->运行setup.py任务。然后键入build\u ext
作为任务名称,并在提示输入命令行输入类型时键入--inplace
。生成文件fib.c、fib.o和可执行文件fib.so。还将创建注释文件fib.html
现在,以下代码应该可以在任何python文件中使用,例如main.py:
import pyximport; pyximport.install()
import fib
fib.fib(2000)
据我所知,即使fib.c、fib.o和fib.so文件最终不在项目文件夹中,也会进行相同的代码编译。也不会生成fib.html代码,但可以通过在主文件中添加两行代码来解决此问题。使用新行main.py现在是:
除了这些说明之外,我们还必须确保PyCharm知道包fodler包含Python模块,否则它将忽略它。查看如何添加包中的函数?我的意思是我的main.py在根目录中,我有一个名为“my_package”的包,其中有“my_py_file.py”,里面有“my_function()”。如果我将我的“my_py_file.py”重构为“my_py_file.pyx”,并使用您的第二种方法,我会在main.py中得到错误:将my_package.my_py_文件作为mpf模块导入my_package.my_py_文件。错误:没有名为“my_package.my_py_py_file”的模块。我有一个关于在PyCharm中调试Cython代码的问题。你想看看有什么建议吗?
from distutils.core import setup
from Cython.Build import cythonize
ext_options = {"compiler_directives": {"profile": True}, "annotate": True}
setup(
ext_modules = cythonize("fib.pyx", **ext_options)
)
import fib
fib.fib(2000)
import pyximport; pyximport.install()
import fib
fib.fib(2000)
import pyximport; pyximport.install()
import subprocess
subprocess.call(["cython", "-a", "fib.pyx"])
import fib
fib.fib(2000)