![](/img/trans.png)
[英]Cython generated c/cpp files in poetry sdist tar.gz for no-cython-installation
[英]Distributing cpp files generated by Cython
我是 Cython 的新手,我的目標是將它用作一些“翻譯器”,它將基本的 python 代碼編譯為 c++ 代碼,可以被其他用戶分發和使用。
我已經按照文檔中的每個步驟進行操作,比如說我有一些文件helloworld.pyx
:
print("hello world!")
為了將此 python 代碼編譯為 c++,我創建了setup.py
文件:
from distutils.core import setup, Extension
from Cython.Build import cythonize
extensions = [
Extension(
"helloworld",
sources=["helloworld.pyx"],
language="c++"
),
]
setup(
ext_modules = cythonize(extensions),
)
最后,我使用python setup.py build_ext --inplace
生成 2 個新文件 - helloworld.o
、 helloworld.cpp
和 1 個目錄 - build
。
嘗試在不指定 python 目錄的情況下執行腳本將給出錯誤gcc helloworld.cpp
:
helloworld.cpp:17:10: fatal error: 'Python.h' file not found #include "Python.h" ^ 1 error generated.
當指定像這個gcc -c -I/usr/include/python2.7 helloworld.cpp -o main.out
這樣的 python 目錄時,它可以工作,但不幸的是,輸出被編碼為不可讀的字符。
將python代碼編譯為可以獨立使用的cpp代碼的正確方法是什么(沒有指定python文件)?
謝謝!
如果您使用的是Conda
,您似乎需要libpython-dev
包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.