Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

θέλω να φτιάξω ένα exe ενός python script

Το φτιάχνω με το cx_freeze δεν βρήκα κάποιο άλλο. Το py2exe δεν το δοκίμασα γιατί είδα ότι δεν έχει ενημερωθεί από το 2008.

 

Έφτιαξα ένα αρχείο setup

 

from cx_Freeze import setup, Executable

# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = dict(packages = [], excludes = [])

base = 'Console'

executables = [
    Executable('script.py', base=base)
]

setup(name='script',
      version = '0.1',
      description = 'Parser',
      options = dict(build_exe = buildOptions),
      executables = executables)

 

 

Μου δημιουργεί έναν φάκελο build, αλλά μόλις εκτελώ το script από εκεί μου βγάζει σφάλμα:

 

Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27
, in <module>
    exec code in m.__dict__
  File "script.py", line 7, in <module>
  File "ExtensionLoader_lxml_etree.py", line 22, in <module>
  File "ExtensionLoader_lxml_etree.py", line 14, in __bootstrap__
  File "lxml.etree.pyx", line 84, in init lxml.etree (src\lxml\lxml.etree.c:1797
08)

 

Στο script χρησιμοποιώ τα παρακάτω modules:

 

from lxml import etree
import sys
import Tkinter
import tkFileDialog
import tkMessageBox

from bs4 import BeautifulSoup
from collections import Counter
import operator

 

έχει κανείς κάποια εμπειρία στο θέμα;

ευχαριστώ

  • Like 1
Δημοσ.

Δουλεύει με αυτό:

from cx_Freeze import setup, Executable

# Dependencies are automatically detected, but it might need
# fine tuning.
#buildOptions = dict(packages = [], excludes = [])
build_exe_options = {"packages": ["os","lxml","bs4","gzip"], "excludes": ["tkinter"]}

base = 'Console'

executables = [
    Executable('script.py', base=base)
]

setup(name='script',
      version = '0.1',
      description = 'Parser',
      options = {"build_exe": build_exe_options},
      executables = executables)

το βρήκα στο documentaion ...  RTFM :)

  • Like 3
  • 7 μήνες μετά...
Δημοσ.

Χρησιμοποιώ το matplotlib στο σκριπτ, και δεν μπορώ να έχω πρόσβαση στον υποκατάλογο '/stylelib' του module που εισηγάγει το matplotlib, 'styles':

u'C:\\Users\\myuser\\Downloads\\parser\\build\\exe.win32-2.7\\Library.zip\\matplotlib\\style\\stylelib\\*.*'

Μετά από ψάξιμο κατάλαβα ότι κάποιο πρόβλημα υπάρχει στο ότι ο φάκελος είναι συμπιεσμένος.
Τροποποίησα το setup.py ώστε να μην φτιάχνει συμπιεσμένο φάκελο, αλλά το πρόβλημα παραμένει μόνο που το path τώρα είναι λάθος (κοιτάει το όνομα του αρχείου ως φάκελο: "\exe.win32-2.7\\script.exe\\"):

 

  Εμφάνιση κρυμμένου περιεχομένου


To setup.py:

 

  Εμφάνιση κρυμμένου περιεχομένου

 

 

 

Ευχαριστώ

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...