syntaxe pour compiler un projet pygame grace a Nuitka

pygame,thorpy,nuitka,cython,cxfreeze

a marqué ce sujet comme résolu.

Bonsoir, Je souhaite compiler un projet python important les librairies thorpy et pygame grace a nuitka. Forcement chez moi, ça marche po…

http://nuitka.net/doc/user-manual.html#use-cases

le script a compiler est ici: http://thorpy.org/phpBB3/viewtopic.php?f=4&t=1633

Ma question est : quelle commande exacte pour que ça compile correctement ?

Le but final n’est pas la perf, ni la distribution/portabilité , mais de bidouillage. Je veux ensuite éclater le binaire pour en voir le code assembleur. du bidouillage je vous disais…

ps: dois-je faire une architecture de dossiers/sous-dossiers et coller des init.py pour que ça aide ?

+0 -0

soit le fichier fib.py:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#! /usr/bin/env python3
# -*- coding: utf-8 -*-

from functools import wraps
import datetime

class ContextDecorator():
    # __call__ est une méthode magique appelée quand on utilise () sur un objet
    def __call__(self, f):
        # bon, cette partie là suppose que vous savez comment marche un
        # décorateur, si c'est pas le cas, retournez lire l'article sur S&M
        # linké dans le premier paragraphe
        @wraps(f)
        def decorated(*args, **kwds):
            # notez le with appelé sur soi-même, c'est y pas mignon !
            with self:
                return f(*args, **kwds)
        return decorated

class TimeIt(ContextDecorator):

    def __enter__(self):
        self.start = datetime.datetime.now()
        print(self.start)

    def __exit__(self, type, value, traceback):
        print((datetime.datetime.now() -self.start).total_seconds())

def fib_py(n):
    if n < 2:
        return n
    return fib_py(n-2) + fib_py(n-1)

res = 33

@TimeIt()
def fibcaller(n=res):
    fib_py(n)

fibcaller()

Cela se compile niquel avec la commande : nuitka –recurse-all fib.py Cela s’exécute très bien, au passage un gain de performance de 30%…

Mon script dans le post cidessus, je le baptise scripto.py Ca compile apres emission d’un warning:

nuitka –recurse-all scripto.py

Nuitka:WARNING:scripto.py:19: Cannot find ’pygame’ as relative or absolute import. Nuitka:WARNING:scripto.py:20: Cannot find ’thorpy’ as relative or absolute import.

si je tente de l’executer j’obtiens Traceback (most recent call last): File "/home/moi/Bureau/bidouillages/scripto.py", line 19, in <module> import pygame ImportError: No module named pygame

Il ne trouve pas les lib importés. Si un jour je veux importer plein de lib stierce, je vais quand meme pas toutes aller les dupliquer dans le repertoire courant, donc il faut une combine à base de pythonpath j’imagine.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte