小编moz*_*zza的帖子

使用Cython编译主Python程序

我有一个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命令行示例.谢谢.

python cython

71
推荐指数
3
解决办法
6万
查看次数

运行没有pyc扩展名的python模块

我在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问题作为一个单独的问题提出来了.

python

4
推荐指数
1
解决办法
1689
查看次数

标签 统计

python ×2

cython ×1