python3 method to package python code into exe file

不言
Release: 2018-04-09 11:56:20
Original
6913 people have browsed it

The content of this article is to share with you how python3 packages python code into exe files. Friends in need can refer to it

Basic configuration:

Anaconda 3 4.2.0 (python3.5)

Note:

1. The code is stored in the full English directory;

2. Computer Temporarily close security software such as butler (because the released exe file is an executable file, computer butler may think that the released file is a virus and automatically delete it)


The specific steps are as follows:

1. Store the written python code in an all-English directory:

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!')
Copy after login

2. Through the command line, follow pyinstaller

pip install pyinstaller

3. Command line packaging file

First switch the path to the directory where the python code is located, and execute the statement:

pyinstaller -F -w xxx.py

4, Waiting for the packaging to be completed, a build folder and a dist folder will be generated. The exe executable file is in the dist folder. If the program references resources , then the resource files must be placed in the correct relative directory of the exe.

5. Run the exe file.

#Sometimes there will be an error when running the file. In this case, you need to copy the folder shown below to the directory where the exe file is located


Run successfully!

Related recommendations:

Summary of methods for packaging folders in Python (zip, tar, tar.gz, etc.)

Introducing a Python packaging tool (py2exe)

The above is the detailed content of python3 method to package python code into exe file. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!