我有一个使用两个命令行参数的 Python 代码。我正在使用 linux 终端执行所有命令行任务。现在我正在尝试使用 Cython 来加速我的 Python 代码。 为此,我通过创建此 setup.py 文件,使用 build_ext 模块将 Python 代码编译为 C:
setup.py
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
setup (
cmdclass = {'build_ext': build_ext } ,
ext_modules = [
Extension ("myCode", ["myCode.py"]) ,
])
然后使用以下命令将我的 Python 代码编译成 C:
python setup.py build_ext -i
生成了以下内容:
[file]myCode.c
[file]myCode.so
[folder]build
--[folder]temp.linux-x86_64-2.7
----[file]myCode.o
我想使用命令行参数运行生成的文件。 到目前为止,在 Python 中我使用的是通常的命令
>> python myCode.py arg1 arg2
我是 Cython 的新手,事实上我开始使用它来解决代码级算法优化后 Python 固有的速度问题。我需要输入有关要运行的文件、如何运行转换后的 C 代码以及使用命令行参数的信息。提前致谢。
如前所述,您编译了一个 Python 模块。因此,要从 Linux 调用,您必须编写一个
.py
脚本来导入您编译的模块并进行任何所需的计算。然后您可以使用典型的 Linux 命令运行它。
正如 @phd 评论的那样:“你不能运行它,你必须导入它”
python -c 'import myCode'
编译后
myCode.pyx
您将拥有myCode.so
并在另一个脚本中正常导入
# other_script.py
import myCode
然后
python other_script.py
在终端