Возможно ли сгенерировать исполняемый файл (.exe) jupyter-notebook?

#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 программу