我有一个Python2.6程序,可以使用Cython加载编译为.so文件的Python模块.我用Cython将.py模块编译成.so文件,一切正常.
这是我在Cython中使用的setup.py文件:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
ext_modules = [
Extension("ldap", ["ldap.pyx"]),
Extension("checker", ["checker.pyx"]),
Extension("finder", ["finder.pyx"]),
Extension("utils", ["utils.pyx"]),
]
setup(
name = 'bchecker',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)
Run Code Online (Sandbox Code Playgroud)
所以我知道我可以使用Cython编译Python模块(我猜Cython从我的Python文件创建'C'文件然后编译它们),但是我可以将我的主Python程序编译成可以在Linux平台上执行的程序吗?如果是这样,将欣赏Cython命令行示例.谢谢.
我在Linux上编译了一个名为abc.pyc的Python 2.6程序.如果我跑
./abc.pyc
Run Code Online (Sandbox Code Playgroud)
它运行正常.但是,如果我将其重命名为abc(即没有pyc扩展名),则无法运行.它给出了错误消息:
ImportError: No module named abc
Run Code Online (Sandbox Code Playgroud)
如何在没有.pyc扩展名的情况下运行我的程序?
更新: 我想运行编译(pyc)版本而不是py版本
或者,我知道我可以使用Cython将模块编译为.so文件,但是我可以将我的主Python程序编译为可以在Linux平台上执行的程序吗?如果是这样,将欣赏Cython命令行示例.
更新 我把Cython问题作为一个单独的问题提出来了.