#python #jupyter-notebook #exe #executable
#python #jupyter-notebook #exe #исполняемый файл
Вопрос:
Я написал код на python, используя jupyter notebook, и я хочу сгенерировать исполняемый файл программы.
Ответ №1:
Нет, однако из него можно сгенерировать .py
скрипт .ipynb
, который затем можно преобразовать в .exe
С помощью jupyter nbconvert (если вы используете Anaconda, это уже включено)
В среде :
pip install nbconvert
jupyter nbconvert --to script my_notebook.ipynb
Сгенерирует my_notebook.py
.
Затем с помощью Pyinstaller :
pip install pyinstaller
pyinstaller my_notebook.py
Теперь my_notebook.exe
в вашей папке должны быть файлы a и dist.
Источник: немного устаревшая статья Medium об этом
Комментарии:
1. При использовании pandas для pyinstaller есть некоторые подводные камни. Я написал подробное пошаговое руководство по созданию исполняемого файла из одного файла (.py -> .exe) здесь: geo.rocks/post/python-to-exe .
Ответ №2:
Вы можете использовать этот код, который я написал, для преобразования большого количества .ipynb
файлов в .py
файлы.
srcFolder = r'input_folderpath_here'
desFolder = r'output_folderpath_here'
import os
import nbformat
from nbconvert import PythonExporter
def convertNotebook(notebookPath, modulePath):
with open(notebookPath) as fh:
nb = nbformat.reads(fh.read(), nbformat.NO_CONVERT)
exporter = PythonExporter()
source, meta = exporter.from_notebook_node(nb)
with open(modulePath, 'w ') as fh:
fh.writelines(source)
# For folder creation if doesn't exist
if not os.path.exists(desFolder):
os.makedirs(desFolder)
for file in os.listdir(srcFolder):
if os.path.isdir(srcFolder '\' file):
continue
if ".ipynb" in file:
convertNotebook(srcFolder '\' file, desFolder '\' file[:-5] "py")
После того, как вы преобразовали свои .ipynb
файлы в .py
файлы.
Попробуйте запустить .py
файлы, чтобы убедиться, что они работают.
После чего используйте Pyinstaller в вашем терминале или командной строке.
cd
в ваше .py
местоположение файла.
А затем введите
pyinstaller --onefile yourfile.py
Это сгенерирует единственную файловую .exe
программу