标签: cython

隐藏Python源代码以防止人们看到它..完整且正确的方法

我有一些Python文件,我想将它们打包成exe并进行商业分发,也要确保没有人能够看到这些文件的源代码......我听说过pyarmor模块,但它没有提供完全混淆..对此有任何帮助吗?

我听说过有关 Cython 和 Pyinstaller 的内容,但从未让它发挥作用。我看过很多关于如何首先将代码转换为 C 源代码,然后将其编译为 exe 的帖子,但这些都不适合我。这里有人愿意告诉我如何实现相同的目标吗?

python pyinstaller cython setup.py cythonize

2
推荐指数
1
解决办法
8555
查看次数

一起使用 Numba 和 Cython 是否明智?

我正在开发一个程序,该程序依赖于尽快迭代数百万个数据点。

我打算将此程序转换为独立的 exe,以便于使用和分发。

我一直在研究 numba 和 cython 作为尽可能加速我的程序的方法,但它们似乎都擅长不同的事情。

Numba 的局限性更大,但非常擅长迭代 numpy 数组,并且无需太多思考即可轻松实现。

平均而言,它似乎也比 Cython 更快,尤其是当数据集很大时。至少从我读到的来看。

Cython 比 numba 更难实现,但它是通用的,并且在大多数情况下几乎或同样快。

但我从未听说过有人将它们一起使用。

我正在考虑在方便且有用的情况下使用 Numba,而在其他地方则使用 Cython。

这是一个坏主意吗?我错过了什么吗?

cython python-3.x numba

2
推荐指数
1
解决办法
1134
查看次数

在 Mac 上安装 Odoo 会引发 gevent 错误

我按照本教程在 Mac 上安装 Odoo 15,但在运行时遇到此错误pip install -r requirements.txt

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      cdef load_traceback
      cdef Waiter
      cdef wait
      cdef iwait
      cdef reraise
      cpdef GEVENT_CONFIG
            ^
      ------------------------------------------------------------
      
      src/gevent/_gevent_cgreenlet.pxd:181:6: Variables cannot be declared with 'cpdef'. Use 'cdef' instead.
Run Code Online (Sandbox Code Playgroud)

我发现了几个解决 cython 错误的文档,但没有一个文档解决我遇到的特定异常。

python cython odoo

2
推荐指数
1
解决办法
6141
查看次数

Cython递归结构声明

我正在尝试在Cython中使用C结构,它定义了一个链表:

typedef struct {  
    struct query_result* next_result;  
    char*                result;   
} query_result;
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我在自己的定义中使用了query_result类型.按原样使用,在Cython中给出了编译器错误:

cdef extern from 'c_wrapper.h':  
    struct query_result:  
        struct query_result* 
        char*
Run Code Online (Sandbox Code Playgroud)

关于如何在Cython中正确处理这个递归定义的任何想法?

cython

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

Cython cdef没有速度增加

我终于得到了cython工作,感谢stackoverflow上的一些人,但现在有一个问题.从我不使用cdef到使用cdef时,确实没有速度增加.当我使用cython编译python代码时,不要误会我有一个非常明显的速度增加,但是当我使用cdef时并不是这样.

这是代码区域正在减慢程序的其余部分:

def tupdate(self,surf):     

    cdef int x
    cdef int y

    for x in xrange(self.w):
        for y in xrange(self.h):
            if self.map[(x,y)].y <= 600 and self.map[(x,y)].y >= -50: self.map[(x,y)].FLAG = 1
            else: self.map[(x,y)].FLAG = 0
            self.map[(x,y)].y += self.speed
            if self.map[(x,y)].FLAG:
                self.map[(x,y)].rect = ((self.map[(x,y)].x,self.map[(x,y)].y),(50,25))
                self.map[(x,y)].update()
                self.map[(x,y)].render(surf)
Run Code Online (Sandbox Code Playgroud)

这个代码应该每秒被调用60次,但由于代码的速度和我的旧硬件只能被调用大约每秒30次,我认为使用cdef这样强烈使用的变量如x和y会有所帮助.但是fde在cdef之前和之后都是一样的.

我使用的是32位python 2.7的Windows 7 64位

c python cython

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

将Python/Numpy代码转换为Cython - 数组问题 - 缓冲区类型只允许作为函数局部变量?

我试图将一些Python/Numpy代码转换为Cython以加快速度.这是我的代码:

cimport numpy as np
import numpy as np
from numpy import *
import pylab as pl
from pylab import * 
from scipy import integrate

def myc_rb_e2f(np.ndarray[double,ndim=1] y = np.zeros(7),double t, double k,double d):

    M = y[0]
    E = y[1]
    CD = y[2]
    CE = y[3]
    R = y[4]
    RP = y[5] 
    RE = y[6]

    cdef double S = 0.01
    if t > 300.0:
        S = 5.0
    #if t > 400
        #S = 0.01

    cdef double t1 = k[0]*S/(k[7]+S)
    cdef …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy cython

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

构建LXML.预编译的.c Cython文件丢失

我必须从源代码构建lxml.https://github.com/lxml/lxml 正如文件/doc/build.txt所说,源代码应该提供预编译的.c文件.为什么我找不到它们?在/src/lxml那里只有.pyx文件.哪里.c文件?? ??

实际上我lxml.etree.cpython build命令期间有丢失的文件.

谢谢

python lxml cython

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

cython不支持带键排序?

def test():
    return sorted([(a,b) for a in xrange(10) for b in xrange(10)],
       key=lambda (x,y): x + y)
Run Code Online (Sandbox Code Playgroud)

上面是有效的python代码,但会触发cython错误。错误消息是Expected ')', found ','

怎么了

Python 2.7,Cython 0.19.2

python cython

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

我该如何安装cython

在Windows上安装Kivy的过程中,我发现我需要Cython.

  • 我尝试使用它安装它easy_install cython,但这给出了以下错误:error: Unable to find vcvarsall.bat
  • 我从Cython的官方页面下载了软件包,但是在尝试运行时python setup.py install,我看到了同样的错误.

我该如何安装Cython?没有这个'vcvarsall.bat'错误.

我正在运行Windows 32位.

在此输入图像描述

在此输入图像描述

python windows download cython python-3.x

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

奇怪的Cython语法

我正在查看快速分数库,我发现了以前从未见过的这种cython语法:

  an, ad = (<Fraction>a)._numerator, (<Fraction>a)._denominator
Run Code Online (Sandbox Code Playgroud)

什么是(<Fractions>a)代表?这似乎是某种内存分配.但是,我不确定.

python cython

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

标签 统计

cython ×10

python ×8

python-3.x ×2

arrays ×1

c ×1

cythonize ×1

download ×1

lxml ×1

numba ×1

numpy ×1

odoo ×1

pyinstaller ×1

setup.py ×1

windows ×1