Heim  >  Artikel  >  Backend-Entwicklung  >  Python3-Methode zum Packen von Python-Code in eine EXE-Datei

Python3-Methode zum Packen von Python-Code in eine EXE-Datei

不言
不言Original
2018-04-09 11:56:206863Durchsuche

Der Inhalt dieses Artikels besteht darin, Ihnen mitzuteilen, wie Python3 Python-Code in exe-Dateien verpackt. Freunde in Not können sich darauf beziehen

Grundkonfiguration:

Anaconda 3 4.2.0 (python3.5)

Hinweis:

1 Der Code ist im vollständigen englischen Verzeichnis gespeichert; Computer-Sicherheitssoftware wie Butler ist vorübergehend geschlossen (da es sich bei der freigegebenen Exe-Datei um eine ausführbare Datei handelt, denkt Computer Butler möglicherweise, dass es sich bei der freigegebenen Datei um einen Virus handelt, und löscht sie automatisch)


Die spezifischen Schritte sind wie folgt:

1. Speichern Sie den geschriebenen Python-Code in einem rein englischen Verzeichnis:

2. Folgen Sie pyinstaller
import keras
from keras.models import Sequential
import numpy as np
import pandas as pd
from keras.layers import Dense
import random
import matplotlib.pyplot as plt
from tensorflow.examples.tutorials.mnist import input_data
from tkinter import filedialog
import tkinter.messagebox #这个是消息框,对话框的关键
file_path = filedialog.askdirectory()

mnist = input_data.read_data_sets(file_path, validation_size=0)

#随机挑选其中一个手写数字并画图
num = random.randint(1, len(mnist.train.images))
img = mnist.train.images[num]
plt.imshow(img.reshape((28, 28)), cmap='Greys_r')
plt.show()

x_train = mnist.train.images
y_train = mnist.train.labels
x_test = mnist.test.images
y_test = mnist.test.labels

#reshaping the x_train, y_train, x_test and y_test to conform to MLP input and output dimensions
x_train = np.reshape(x_train, (x_train.shape[0], -1))
x_test = np.reshape(x_test, (x_test.shape[0], -1))
y_train = pd.get_dummies(y_train)
y_test = pd.get_dummies(y_test)

#performing one-hot encoding on target variables for train and test
y_train=np.array(y_train)
y_test=np.array(y_test)
#defining model with one input layer[784 neurons], 1 hidden layer[784 neurons] with dropout rate 0.4 and 1 output layer [10 #neurons]
model=Sequential()
model.add(Dense(784, input_dim=784, activation='relu'))
keras.layers.core.Dropout(rate=0.4)
model.add(Dense(10,input_dim=784,activation='softmax'))
# compiling model using adam optimiser and accuracy as metric
model.compile(loss='categorical_crossentropy', optimizer="adam", metrics=['accuracy'])
# fitting model and performing validation
model.fit(x_train, y_train, epochs=20, batch_size=200, validation_data=(x_test, y_test))
y_test1 = pd.DataFrame(model.predict(x_test, batch_size=200))
y_pre = y_test1.idxmax(axis = 1)
result = pd.DataFrame({'test': y_test, 'pre': y_pre})
tkinter.messagebox.showinfo('Message', 'Completed!')

pip install pyinstaller

3. Befehlszeilen-Paketdatei

Wechseln Sie zuerst den Pfad in das Verzeichnis, in dem sich der Python-Code befindet, und Führen Sie die Anweisung aus:

pyinstaller -F -w xxx.py

4. Während Sie darauf warten, dass die Verpackung abgeschlossen ist, werden ein Build-Ordner und ein Dist-Ordner generiert Die ausführbare Datei befindet sich im Ordner dist. Wenn das Programm auf Ressourcen verweist, müssen die Ressourcendateien im richtigen relativen Verzeichnis der Exe-Datei abgelegt werden.

5. Führen Sie die exe-Datei aus.

Manchmal tritt beim Ausführen der Datei ein Fehler auf. In diesem Fall müssen Sie den unten gezeigten Ordner in das Verzeichnis kopieren, in dem sich die exe-Datei befindet


Erfolgreich ausgeführt!

Verwandte Empfehlungen:

Zusammenfassung der Python-Verpackungsordnermethoden (zip, tar, tar.gz usw.)

Einführung eines Python-Paketierungstools (py2exe)

Das obige ist der detaillierte Inhalt vonPython3-Methode zum Packen von Python-Code in eine EXE-Datei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn