Создание автономного исполняемого файла Python с pywin32 и пропущенным необходимым модулемPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создание автономного исполняемого файла Python с pywin32 и пропущенным необходимым модулем

Сообщение Anonymous »


Я собираюсь создать отдельный исполняемый файл Python, который будет использовать интерпретатор Python в Windows (я не хочу создавать exe-файл).

Итак, я' Я использовал эту полезную статью:

https://n8henrie.com/2022/08/easily-cre ... e_vignette

Мой скрипт, который использует Python pywin32 для преобразования Word в PDF,

После выполнения этой команды:

Код: Выделить всё

> python -m pip install -t myapp pywin32
Я пытался проверить работу автономного скрипта в каталоге myapp. поэтому я побежал:

Код: Выделить всё

> python .\myapp\main.py
И я получаю такую ​​ошибку:

Код: Выделить всё

Traceback (most recent call last): File "D:\Parsa Projects\Python-PDF\myapp\main.py", line 3, in  import win32com.client File "D:\Parsa Projects\Python-PDF\myapp\win32com\__init__.py", line 8, in  import pythoncom File "D:\Parsa Projects\Python-PDF\myapp\pythoncom.py", line 2, in  import pywintypes ModuleNotFoundError: No module named 'pywintypes'
Я искал информацию о проблеме и обнаружил, что установка pypiwin32 решает проблему, поэтому я установил его на myapp , но это не решило проблему.

Может ли кто-нибудь мне помочь?

Что я могу сделать?

Это мой код Python:

Код: Выделить всё

import argparse
import pathlib
import win32com.client
import os

def convert_word_to_pdf(word_file_path, pdf_file_path):
if not os.path.exists(word_file_path):
raise FileNotFoundError(f"The file {word_file_path} does not exist.")
word = win32com.client.Dispatch('Word.Application')
word.Visible = False

try:
doc = word.Documents.Open(word_file_path)
doc.SaveAs(pdf_file_path, FileFormat=17)
doc.Close()
except Exception as e:
print(f"An error occurred: {e}")
finally:
word.Quit()

def main():
filepath = os.path.abspath('D:\\Parsa Projects\\Python-PDF\\file-sample_100kB.docx')
print(filepath)
# pdf_path = pathlib.Path('./file-sample_100kB.pdf').absolute()
pdf_path = os.path.abspath('D:\\Parsa Projects\\Python-PDF\\file-sample_100kB.pdf')
convert_word_to_pdf(filepath, pdf_path)
# parser = argparse.ArgumentParser("Arguments")

# if os.environ.get("MY_ENV_VAR") is not None:
#     parser.add_argument("--my-env-var", required=True, action="store_true")

# if os.environ.get("MY_ENV_VAR2") is not None:
#     parser.add_argument("--my-env-var2", required=True, action="store_true")

# parser.parse_args()
if __name__ == "__main__":
# main()
# exit()
# doc_path = pathlib.Path('./file-sample_100kB.docx').absolute()
filepath = os.path.abspath('D:\\Parsa Projects\\Python-PDF\\file-sample_100kB.docx')
print(filepath)
# pdf_path = pathlib.Path('./file-sample_100kB.pdf').absolute()
pdf_path = os.path.abspath('D:\\Parsa Projects\\Python-PDF\\file-sample_100kB.pdf')
convert_word_to_pdf(filepath, pdf_path)
Для создания автономного пакета Python в этом моем каталоге D:\Parsa Projects\Python-PDF я открыл cmd и запустил:

> mkdir myapp

> xcopy /f /y main.py .\myapp\main.py

> python -m pip install -t myapp pywin32 pypiwin32

> python -m zipapp -p
"C:\Users\Parsa\AppData\Local\Programs\Python\Python312\python.exe" -m
main:main -c -o myapps мое приложение


Подробнее здесь: https://stackoverflow.com/questions/789 ... red-module
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»