相关疑难解决方法(0)

从Python项目创建单个可执行文件

我想从我的Python项目中创建一个可执行文件.用户应该能够在不需要安装Python的情况下下载并运行它.如果我只是分发一个包,我可以使用pip,wheel和PyPI来构建和分发它,但这需要用户拥有Python并知道如何安装包.我可以用什么来构建Python项目中的自包含可执行文件?

python packaging software-distribution exe compilation

73
推荐指数
3
解决办法
5万
查看次数

使用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万
查看次数

在Cython中创建可执行文件

一直在玩cython.通常用Python编程,但在前一生中使用过C. 我无法弄清楚如何制作一个独立的可执行文件.

我已经下载了cython,我可以创建一个.pyx文件(这只是一个扩展名为.pyx的普通Python文件),它在Python shell中执行,使用:import pyximport; pyximport.install()

我可以在命令行生成一个.c文件:cython file.pyx我可以通过构建标准的setup.py来生成一个.so文件并执行:

setup.py build_ext --inplace
Run Code Online (Sandbox Code Playgroud)

我尝试使用带有各种选项的gcc从.so文件中创建一个可执行文件,但总是有大量丢失的文件,标题等.尝试过从几乎所有地方指向标题,但没有成功,并且我并不熟悉所有gcc选项的功能,或者即使我应该使用gcc.

我在这里断开了事实,我可以在Python shell中运行我的程序,但不是在命令行,(我不希望用户必须进入shell,导入模块等).

我在这里错过了什么?

python executable packages cython

25
推荐指数
3
解决办法
2万
查看次数

python编译器

我对python有一些疑问

  1. 为什么没有python编译器来创建本机代码?我找到了py2exe等,但他们只是打包python解释器,因此,它再次是执行代码的解释器.

  2. 难道不可能像LISP编译器那样创建python编译器,因此代码执行速度更快(与C++相比)?

谢谢,Vinay

python

14
推荐指数
2
解决办法
2万
查看次数

如何最好地将C++/Cython项目编译成可执行文件?

我有一个包含大量C++和Python/Cython文件的项目.到目前为止,我主要开发了C++部分并使用qmake将其编译为静态库.一些方法用boost :: python公开,并从.py文件执行.

我现在想把整个事情编译成一个独立的可执行文件.

我现在的问题是:最好的方法是什么?我试图切换到Cython,编译python文件并链接库.但似乎没有直接的方法使用distutils/setup.py来编译可执行文件,只有共享库.

有没有办法轻松地将.cpp和.pyx文件一次性编译可执行文件

这样我就可以摆脱很多boost :: python包装器并获得c ++/python的简洁组合,而无需导入共享库并使用pyinstaller打包整个东西?

c++ python compilation cython

10
推荐指数
1
解决办法
4501
查看次数

使python程序可执行

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 1}},
    windows = [{'script': "single.py"}],
    zipfile = None,
)
Run Code Online (Sandbox Code Playgroud)

在这个py2exe的安装文件中,它说single.py是我放置程序名称的地方?

py2exe

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

Cython与Visual C++编译器?

一旦我使用Cython生成C文件,如何使用Visual C++ 2010编译器来生成EXE?

我试过了

cython.py Temp.py
cl.exe /MD /I "%ProgramFiles%\Python 2.6\include" Temp.c /link
     /LibPath:"%ProgramFiles%\Python 2.6\libs"
Run Code Online (Sandbox Code Playgroud)

但它说

LINK : fatal error LNK1561: entry point must be defined
Run Code Online (Sandbox Code Playgroud)

如果我将/MD选项更改为/MTthenTemp.c

LIBCMT.lib(crt0.obj) : error LNK2019:
  unresolved external symbol main referenced in function __tmainCRTStartup
Run Code Online (Sandbox Code Playgroud)

python python-2.6 visual-studio-2010 cython visual-studio

3
推荐指数
1
解决办法
1897
查看次数