Файл Python не открывается

Обновлено: 02.07.2024

Мне нравится настраивать рабочий процесс написания кода. Небольшие улучшения со временем накапливаются и могут привести к значительному увеличению производительности. Сегодня я поймал себя на том, что меня раздражает, что мне всегда нужно тратить три клика или около того, чтобы открыть файл Python в IDLE, редакторе Python по умолчанию в Windows. Пора это изменить!

Хотите открывать файлы Python в Windows, просто дважды щелкнув их? Сделайте IDLE редактором по умолчанию для файлов Python, выполнив несколько простых шагов:

  1. Нажмите правой кнопкой мыши файл Python, выберите "Свойства" и найдите раздел "Открывается с помощью".
  2. Нажмите кнопку "Изменить".
  3. Выберите «Другие приложения» , прокрутите вниз и щелкните текст «Искать другое приложение на этом компьютере» . запустив import sys; print(sys.executable) в вашем скрипте Python.
  4. Перейдите по пути Lib/idlelib/ и выберите файл idle.bat .
  5. Нажмите «Открыть» и «ОК», чтобы закрыть окно свойств.

Поздравляем! Теперь вы можете открыть файл Python .py в IDLE, дважды щелкнув его. ?

Я создал гифку, чтобы помочь вам сориентироваться в этих шагах, но будьте осторожны: она работает на моем немецком компьютере с Windows, поэтому вы можете увидеть странные текстовые фрагменты:


< /p>

Работая исследователем распределенных систем, д-р Кристиан Майер полюбил преподавать информатику студентам.

Его увлечения — писать, читать и программировать. Но его самая большая страсть — служить начинающим программистам через Finxter и помогать им повышать свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Почему Finxter?

"Дайте мне достаточно длинный рычаг [. ], и я переверну мир." 🌍 - Архимед

Finxter стремится быть вашим рычагом! Наша единственная цель — увеличить коллективный интеллект человечества с помощью учебных пособий по программированию, чтобы вы могли использовать бесконечный вычислительный интеллект для своего успеха! 🧠

Учебные ресурсы

Присоединяйтесь к нашей бесплатной академии электронной почты с более чем 1000 руководств по Python, фрилансу, науке о данных и машинному обучению, а также технологии блокчейн!

Мэттью – фрилансер, написавший множество статей на различные темы, связанные с технологиями. Основное внимание он уделяет ОС Windows и всему, что с ней связано. Он увлечен. Подробнее

  • Ищете быстрый способ открыть файлы PY на ПК с Windows 10? Именно с этой целью мы составили список советов.
  • Один полезный прием заключается в использовании интерпретатора Python для открытия скриптов PY, как описано ниже.
  • Вы можете легко редактировать сценарий PY в Блокноте или использовать одну из этих замечательных альтернатив Блокноту.
  • Неважно, что вы не профессионал. Наш Центр открытия файлов поможет вам запускать бесчисленное множество типов файлов.

 открыть табличные файлы

Один инструмент, чтобы открыть их все! Для популярных форматов файлов больше не требуется специальное программное обеспечение. Просто скачайте File Viewer Plus 4 и откройте их все в одной среде. Документы, мультимедиа, архивы, электронная почта, камера, инфографика, исходные коды и многое другое — все это поддерживается этим инструментом. Вот что он делает:

открыть все файлы
в одной среде

Python – это интерпретируемый язык программирования, на котором некоторые программисты разрабатывают программное обеспечение. PY — это формат файла для скриптов Python.

Скрипты PY также могут иметь альтернативные расширения файлов, включая PYC, PYD и PWC. Скрипты представляют собой текстовые файлы, но вам понадобится интерпретатор Python для запуска скрипта PY в Windows.

Как открыть файлы PY на ПК с Windows 10?

1. Открытие скриптов Python с помощью File Viewer Plus

Вы можете открывать PY и многие другие файлы с исходным кодом с помощью File Viewer Plus. Это универсальный просмотрщик файлов для Windows, который может открывать и отображать более 300 различных типов файлов, просматривать и редактировать файлы с исходным кодом.

Кроме того, вы собираетесь загрузить надежный инструмент для редактирования и конвертирования. Короче говоря, это также ваш шанс изменить фотографии с помощью расширенного редактора изображений и преобразовать последние аудио- и видеоформаты в различные типы мультимедийных файлов.

Ограничен ли ваш бюджет? Тогда предложение с ограниченным сроком действия и 30-дневной гарантией возврата денег, скорее всего, прозвучит для вас как музыка.

Средство просмотра файлов

File Viewer Plus — лучший инструмент для быстрого открытия файлов PY на компьютере с Windows 10. Готовы попробовать?

2. Открытие скриптов Python с помощью Notepad++

  1. Начните с того, что щелкните правой кнопкой мыши кнопку "Пуск" и выберите "Система", чтобы открыть окно на снимке экрана непосредственно ниже.
  2. Нажмите «Установщик Notepad++ 32-разрядная версия x86 (32-разрядная версия)» или «Установщик Notepad++ 64-разрядная версия x64 (64-разрядная версия)».Будет загружен 32- или 64-разрядный мастер установки, с помощью которого можно установить программное обеспечение.
  3. Затем вы можете открыть скрипт в Notepad++, нажав "Файл" > "Открыть".
  4. Программисты могут редактировать сценарии Python с помощью различных программ. Фактически, вы можете редактировать скрипт PY в Блокноте. Однако Notepad++ — лучший сторонний текстовый редактор, который также поддерживает формат файла PY.

    Это включает в себя подсветку и свертывание синтаксиса, параметры записи макросов, вкладки документов, настраиваемый графический интерфейс, и вы также можете расширить программное обеспечение с помощью подключаемых модулей сценариев.

    Вы можете добавить Notepad++ на большинство платформ Windows. Обратите внимание, что это программное обеспечение имеет 32- и 64-разрядные версии. 64-разрядные версии не работают в 32-разрядных системах.

    Существуют также различные редакторы Python, с помощью которых можно открывать сценарии. В остальном это редакторы IDE, предназначенные для сценариев Python.

    PyScripter, PyDev и PyCharm — это три программы IDE с открытым исходным кодом, с помощью которых вы можете открывать файлы PY.

    Вероятно, интегрированные среды разработки лучше подходят для написания кода на Python, чем Notepad++, поскольку они также включают инструменты отладки и встроенные интерпретаторы.


    3. Легко запускайте скрипты Python

    1. Загрузите интерпретатор CPython. Нажмите кнопку «Загрузить Python 3.6.2», чтобы сохранить один из обновленных интерпретаторов в Windows.
    2. Откройте меню Win + X, нажав сочетание клавиш Win + X.
    3. Выберите Командная строка (Администратор), чтобы открыть окно CP.
    4. Откройте папку, содержащую ваш скрипт Python, в командной строке, введя «Cd» и путь к файлу.
    5. Затем введите полный путь к интерпретатору CPython, а затем полное местоположение файла PY в командной строке, которое должно включать исполняемый файл интерпретатора Python и название файла PY. Например, вы можете ввести что-то вроде этого: C:Python27python.exe C:User FolderPY Files SubfolderPy file title.PY
    6. Нажмите Enter, чтобы открыть и запустить скрипт PY.

    Текстовые редакторы подходят для редактирования файлов, но вам понадобится интерпретатор Python, чтобы открывать и запускать сценарии PY. Некоторые интерпретаторы поставляются в комплекте с программным обеспечением IDE Python.

    Однако CPython, иначе эталонная реализация, является интерпретатором по умолчанию для языка программирования. Используйте описанные выше шаги, чтобы открыть сценарии PY с помощью этого интерпретатора.

    Таким образом, вы можете редактировать и запускать файлы PY с помощью текстовых редакторов, программного обеспечения IDE и интерпретаторов Python.

    Вы также можете конвертировать файлы сценариев PY в Portable Document Format с помощью бесплатного программного обеспечения PDF24 Creator. Скорее всего, PDF24 просто идеально подходит для того, что вам нужно.

    Если у вас есть другие предложения или вопросы, не стесняйтесь оставлять их в разделе комментариев ниже.

    idee restoro

    По-прежнему возникают проблемы? Исправьте их с помощью этого инструмента:

    На виртуальной машине с Windows 10 я установил Atom в качестве программы по умолчанию для открытия файлов .py. Это было большой ошибкой, и теперь, когда я пытаюсь запустить программы PmagPy, открывается Atom. Я попытался сбросить его, используя «выбрать приложения по умолчанию» для файлов .py, но для этого нет подходящей опции python. Я подозреваю, что мне придется зайти в реестр и выбрать python.exe или что-то в этом роде.

    Похоже, что с этой проблемой легко может столкнуться и пользователь. Я могу просто запустить новую виртуальную машину, но я не знаю, как просто исправить это, что мы хотели бы, чтобы пользователь мог сделать.

    У кого-нибудь, кто больше разбирается в Windows, есть мысли по этому поводу? @Caoimhinmg, @rminnett?

    Текст был успешно обновлен, но возникли следующие ошибки:

    Прокомментировал Caoimhinmg 25 сентября 2017 г.

    Нет, это одна из глупых проблем Windows с интерпретативными языками, такими как Python. Дело в том, что .py закодирован как текстовый файл, а не как исполняемый файл, поэтому Windows по умолчанию всегда будет пытаться открыть текстовый процессор или текстовый редактор. Это означает, что для запуска файлов .py, которые вы должны запустить через оболочку, или скомпилировать текстовый файл в исполняемый файл, нет возможности рассматривать его как исполняемый файл по умолчанию и передавать его через интерпретатор, если только вы вручную не найдете python и не установите его с помощью рука. Возможно, есть способ сделать этот последний бит с помощью пакетного сценария, но я недостаточно разбираюсь в Windows, чтобы знать, как это сделать. Насколько я понимаю, большинство пользователей Windows в любом случае будут использовать только исполняемые файлы, в противном случае они будут использовать сценарии в оболочке, поэтому в целом это не должно быть большой проблемой.

    rminnett прокомментировал 25 сентября 2017 г.

    Да, я согласен, мы могли бы включить jscript, чтобы установить расширение для запуска интерпретатора Python, но на самом деле эти скрипты не предназначены для использования. Файлы .py предназначены для использования в командной строке с аргументами, а не для запуска при нажатии на файл.Если это то, что делают пользователи, лучше потратить усилия на добавление инструкций в кулинарную книгу или направление людей к кулинарной книге, чем на получение файлов .py для запуска интерпретатора.

    Moonshoes87 прокомментировал 27 сентября 2017 г.

    Эта проблема возникает не только при нажатии на файл, но и при попытке запустить исполняемый файл из командной строки. Поэтому я думаю, что это серьезная проблема для всех, кто занимается разработкой для Windows: если вы выберете, скажем, Atom в качестве файла .py по умолчанию, вы больше не сможете запускать файлы .py как исполняемые файлы из командной строки.

    rminnett прокомментировал 27 сентября 2017 г.

    О, понятно, если они просто пытаются запустить один скрипт Python, то добавление "python" перед именем скрипта в командной строке должно сработать, если Python установлен.

    В противном случае, по крайней мере для Windows 10, повторно связать файлы .py с установленным интерпретатором Python:

    • в командной строке введите «где python» и запишите местоположение предпочтительного интерпретатора Python или (если его нет в переменных среды, найдите файл python.exe, который они хотят использовать)
    • щелкните правой кнопкой мыши любой файл .py в проводнике
    • нажмите "Изменить" рядом с "Открывается с помощью:"
    • нажмите "Другие приложения" внизу
    • нажмите "Искать другое приложение на этом компьютере" внизу
    • найдите и выберите файл python.exe из первого шага выше

    Moonshoes87 прокомментировал 30 сентября 2017 г.

    Спасибо, Руперт! Я смог успешно выполнить эти шаги. К сожалению, это привело (я думаю) к тому, что python больше не работает в командной строке.

    Однако Anaconda Python все еще находится на моем пути (что выглядит немного странно из-за запущенного dev_setup.py. ):

    снимок экрана 2017- 09-30 в 3 43 18 утра

    Возможно, мне просто нужно создать новую виртуальную машину Windows и отказаться от этой, потому что все испортилось. Но меня беспокоит пользовательский опыт Windows. Мысли?

    njarboe прокомментировал 30 сентября 2017 г.

    Как вы, возможно, слышали, Microsoft недавно добавила возможность запуска различных сред Linux в Windows. Мне интересно, может ли это быть лучшим путем. Я не устанавливал ничего из этого сам, и это может быть просто еще одна кроличья нора, но было бы намного лучше настроить людей с Windows в среде Linux, если они хотят работать в командной строке. PmagPy был построен на системе типа unix и работает там с гораздо меньшими проблемами. Мы могли бы продвигать автономную версию для пользователей Windows, которые просто хотят запускать графический интерфейс, и среду Windows Linux для людей, которым нужна командная строка или ветка разработки из git.
    Что вы знаете об этой новой возможности @Caoimhinmg ?

    Подсистема Windows для Linux позволяет разработчикам запускать среды Linux, включая большинство инструментов, утилит и приложений с командной строкой, непосредственно в Windows, без изменений, без накладных расходов на виртуальную машину.

    rminnett прокомментировал 2 октября 2017 г.

    Хммм, эта переменная окружения PATH выглядит подозрительно запутанной (предполагается, что Windows игнорирует лишние обратные косые черты, но у вас также есть повторяющиеся записи и, похоже, вы включаете Anaconda, что должно дать вам хотя бы один python.exe) . Прежде чем отказаться от этой виртуальной машины, вы можете:

    • щелкните правой кнопкой мыши значок Windows в левой части панели задач
    • выберите "Система"
    • нажмите "Дополнительные параметры системы"
    • нажмите "Переменные среды"
    • выберите «Путь» в нижней части «Системных переменных» и нажмите «Изменить».
    • нажмите «Редактировать текст» и скопируйте «Значение переменной» в текстовый редактор.
    • удалить лишнюю обратную косую черту
    • удалить все повторяющиеся записи (и последняя запись "C:\Windows\s" выглядит неполной)
    • скопируйте и вставьте очищенный текст обратно в «Значение переменной» и нажмите «ОК» в трех окнах.

    Если это не позволяет вам выполнить «python» в командной строке, возможно, пришло время для чистой виртуальной машины.

    Подсистема Windows для Linux может быть более чистым решением для пользователей Windows, но для этого требуется Windows 10 Anniversary Update (август 2016 г.) или более поздняя версия для 64-разрядной версии, а также требуется, чтобы пользователь установил дополнительное программное обеспечение, кроме дистрибутива Python и PmagPy. Я не знаю, не слишком ли это ограничивает некоторые старые лабораторные компьютеры?

    Moonshoes87 прокомментировал 15 ноября 2017 г.

    В конце концов, я удалил все материалы PmagPy/Python из своей PATH вручную, как объяснил @rminnett выше, а затем переустановил. Я не думаю, что есть действительно чистое решение безумия Windows. Надеюсь, если кто-то попадет в такую ​​же ситуацию, он найдет эту проблему в качестве справочной.

    mvhanson прокомментировал 20 июля 2019 г.

    Вы также можете щелкнуть правой кнопкой мыши файл, который хотите открыть (файл .py), а затем выберите «открыть с помощью», а затем «выбрать другое приложение», а затем «больше приложений», а затем прокрутите вниз, пока не увидите «Искать другое приложение на этом компьютере», а затем найдите папку python27 или python37, а затем вправо щелкните файл «python», затем выберите «устранение неполадок совместимости», а затем «попробуйте рекомендуемые настройки». А затем «протестируйте программу», должно появиться командное окно с питоном. Нажмите «Далее», а затем «сохранить эти настройки для этой программы», а затем закройте средство устранения неполадок.

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

    Если они могут работать в командном окне, это немного ускоряет их работу, плюс, если вы вводите команды "печати" здесь и там, вы можете видеть прогресс - большинство IDE просто останавливаются, оставляя вас в неведении.

    В любом случае, надеюсь, что это будет полезно для пользователей Windows 10 Python.

    kolipakakondal прокомментировал 22 августа 2019 г.

    Щелкните правой кнопкой мыши файл > Открыть с помощью > Выбрать программу по умолчанию > Нажмите Обзор > Выберите python.exe

    Я нашел python.exe в папке C:\Users\Kondal\AppData\Local\Programs\Python\Python37

    Прокомментировал RSwarnkar 24 июня 2021 г.

    Вот скриншот этой ошибки:

    image

    Вы не можете выполнить это действие в данный момент.

    Вы вошли в другую вкладку или окно. Перезагрузите, чтобы обновить сеанс. Вы вышли на другой вкладке или в другом окне. Перезагрузите, чтобы обновить сеанс.

    Помогите! Я не могу открыть файлы PYTHON!

    Существует множество причин, по которым ваш файл PYTHON может не открываться на вашем компьютере. Если у вас есть файлы PYTHON, которые не открываются при двойном щелчке, задайте себе следующие вопросы.

    Дополнительное предложение для File Magic от Solvusoft | ЛСКП | Политика конфиденциальности | Условия | Удалить

    Подходящая ли у меня программа?

    Если на вашем компьютере не установлена ​​программа, совместимая с файлами PYTHON, вы не сможете ее открыть. Посмотрите, есть ли у вас одна из наиболее распространенных программ, связанных с файлами PYTHON, перечисленными ниже.

    Какой это файл?

    Если вы не можете открыть файлы PYTHON, попробуйте определить тип файла. Это может помочь вам найти правильную программу для его открытия. Обычно файлы PYTHON считаются Uncommon Files. Тем не менее, вы можете посмотреть тип файла, чтобы быть уверенным. Начните с того, что щелкните правой кнопкой мыши значок файла и выберите «Свойства» («Дополнительная информация», если вы работаете на Mac). Затем найдите тип файла в разделе «Тип файла» («Вид» на Mac).

    Может ли разработчик помочь?

    Если вы не можете открыть файлы PYTHON, разработчик программного обеспечения может помочь. Разработчики упомянутых выше программ следующие:

    < td>Сценарий Python
    Программное обеспечение Разработчик
    Python Software Foundation

    Попробуйте связаться с одним из этих разработчиков, чтобы узнать, как открыть файл PYTHON.

    Могу ли я использовать универсальный просмотрщик файлов?

    Универсальное средство просмотра файлов — это то, что вам нужно, если у вас есть файлы PYTHON, которые нельзя открыть ни в какой другой программе. Установите универсальный просмотрщик файлов, например File Magic (Загрузить), и посмотрите, откроет ли он ваш файл PYTHON. Помните, что если ваш файл несовместим, универсальный просмотрщик файлов откроет его только в двоичном формате.

    Рекомендуемая загрузка

    К сожалению, ваш браузер не поддерживает встроенные видео.

    Дополнительное предложение для File Magic от Solvusoft | ЛСКП | Политика конфиденциальности | Условия | Удалить

    Microsoft Partner Silver Application Development

    Открывает все ваши файлы
    КАК ВОЛШЕБНО! 1

    Дополнительное предложение File Magic от Solvusoft
    EULA | Политика конфиденциальности | Условия | Удалить

    1 Неподдерживаемые типы файлов можно открывать в двоичном формате.

    Просмотреть файлы


    Вы загружаете пробную версию программного обеспечения. Чтобы разблокировать все функции программного обеспечения, необходимо приобрести годовую подписку на программное обеспечение по цене 39,95 долларов США. Подписка автоматически продлевается в конце срока (Подробнее). Нажимая кнопку «Загрузить» выше и устанавливая «File Magic», я подтверждаю, что прочитал и согласен с Лицензионным соглашением с конечным пользователем File Magic и Политикой конфиденциальности.

    Как запустить программу Python под Windows?¶

    Это не обязательно простой вопрос. Если вы уже знакомы с запуском программ из командной строки Windows, то все покажется очевидным; в противном случае вам могут понадобиться дополнительные рекомендации.

    Если вы не используете какую-либо интегрированную среду разработки, в конечном итоге вам придется вводить команды Windows в так называемом «окне DOS» или «окне командной строки». Обычно такое окно можно создать из панели поиска, выполнив поиск cmd. Вы должны быть в состоянии распознать, когда вы открыли такое окно, потому что вы увидите «командную строку» Windows, которая обычно выглядит следующим образом:

    Буква может быть другой, и после нее могут быть другие элементы, поэтому вы можете легко увидеть что-то вроде:

    в зависимости от того, как был настроен ваш компьютер и что вы еще недавно делали с ним. Как только вы открыли такое окно, вы уже на пути к запуску программ на Python.

    Вы должны понимать, что ваши скрипты Python должны обрабатываться другой программой, называемой интерпретатором Python. Интерпретатор читает ваш сценарий, компилирует его в байт-коды, а затем выполняет байт-коды для запуска вашей программы. Итак, как организовать интерпретатор для обработки вашего Python?

    Во-первых, вам нужно убедиться, что ваше командное окно распознает слово «py» как инструкцию для запуска интерпретатора. Если вы открыли командное окно, попробуйте ввести команду py и нажать клавишу возврата:

    Вы должны увидеть что-то вроде:

    Вы запустили интерпретатор в «интерактивном режиме». Это означает, что вы можете вводить операторы или выражения Python в интерактивном режиме и выполнять или оценивать их, пока ждете. Это одна из самых сильных сторон Python. Проверьте это, введя несколько выражений по вашему выбору и увидев результаты:

    Многие люди используют интерактивный режим как удобный калькулятор с широкими возможностями программирования. Если вы хотите завершить интерактивный сеанс Python, вызовите функцию exit() или, удерживая нажатой клавишу Ctrl, введите Z , а затем нажмите клавишу «Ввод», чтобы вернуться в командную строку Windows.

    Вы также можете обнаружить, что у вас есть запись в меню «Пуск», например «Пуск» ‣ «Программы» ‣ Python 3.x ‣ Python (командная строка), в результате чего вы видите подсказку >>> в новом окне. Если да, то окно исчезнет после вызова функции exit() или ввода символа Ctrl-Z; Windows запускает в окне единственную команду «python» и закрывает ее, когда вы завершаете работу интерпретатора.

    Теперь, когда мы знаем, что команда py распознана, вы можете передать ей свой скрипт Python. Вам нужно будет указать абсолютный или относительный путь к скрипту Python. Допустим, ваш скрипт Python находится на вашем рабочем столе и называется hello.py , а ваша командная строка открыта в вашем домашнем каталоге, поэтому вы видите что-то похожее на:

    Теперь вы попросите команду py передать ваш скрипт Python, набрав py и путь к вашему скрипту:

    Как сделать скрипты Python исполняемыми?¶

    В Windows стандартный установщик Python уже связывает расширение .py с типом файла (Python.File) и дает этому типу файла команду открытия, запускающую интерпретатор ( D:\Program Files\Python\python.exe " %1" %* ). Этого достаточно, чтобы скрипты выполнялись из командной строки как «foo.py». Если вы предпочитаете выполнять скрипт, просто набрав «foo» без расширения, вам нужно добавить .py в переменную среды PATHEXT.

    Почему Python иногда так долго запускается?¶

    Обычно Python запускается очень быстро в Windows, но иногда появляются сообщения об ошибках, из-за которых Python неожиданно начинает долго запускаться. Это вызывает еще большее недоумение, поскольку Python будет нормально работать в других системах Windows, которые настроены одинаково.

    Проблема может быть вызвана неправильной настройкой программного обеспечения для проверки на вирусы на проблемном компьютере. Известно, что некоторые антивирусные сканеры создают дополнительные затраты на запуск на два порядка, если сканер настроен на отслеживание всех операций чтения из файловой системы. Попробуйте проверить конфигурацию программного обеспечения для сканирования на вирусы в ваших системах, чтобы убедиться, что они действительно настроены одинаково. McAfee, настроенный на сканирование всех операций чтения файловой системы, является конкретным нарушителем.

    Как создать исполняемый файл из скрипта Python?¶

    См. раздел Как создать автономный двоичный файл из скрипта Python? список инструментов, которые можно использовать для создания исполняемых файлов.

    Является ли файл *.pyd таким же, как DLL?¶

    Да, файлы .pyd — это библиотеки DLL, но есть несколько отличий. Если у вас есть DLL с именем foo.pyd, она должна иметь функцию PyInit_foo(). Затем вы можете написать Python «import foo», и Python будет искать foo.pyd (а также foo.py, foo.pyc) и, если найдет, попытается вызвать PyInit_foo() для его инициализации. Вы не связываете свой .exe с foo.lib, так как это приведет к тому, что Windows потребует наличия библиотеки DLL.

    Обратите внимание, что путь поиска foo.pyd — это PYTHONPATH, а не тот же путь, который Windows использует для поиска foo.dll. Кроме того, фу.pyd не требуется для запуска вашей программы, тогда как если вы связали свою программу с dll, dll требуется. Конечно, foo.pyd требуется, если вы хотите сказать import foo . В DLL связь объявляется в исходном коде с помощью __declspec(dllexport) . В .pyd связь определяется в списке доступных функций.

    Как встроить Python в приложение Windows?¶

    Встраивание интерпретатора Python в приложение для Windows можно описать следующим образом:

    Не встраивайте Python напрямую в свой .exe-файл. В Windows Python должен быть DLL для импорта модулей, которые сами являются DLL. (Это первый ключевой недокументированный факт.) Вместо этого дайте ссылку на python NN .dll ; обычно он устанавливается в C:\Windows\System . NN — это версия Python, число, например «33» для Python 3.3.

    Связаться с Python можно двумя способами. Связывание во время загрузки означает связывание с python NN .lib , а связывание во время выполнения означает связывание с python NN .dll . (Общее примечание: python NN .lib — это так называемая «импортная библиотека», соответствующая python NN .dll. Она просто определяет символы для компоновщика.)

    Связывание во время выполнения значительно упрощает варианты связывания; все происходит во время выполнения. Ваш код должен загрузить python NN .dll с помощью подпрограммы Windows LoadLibraryEx(). В коде также должны использоваться подпрограммы доступа и данные в python NN .dll (то есть Python C API) с использованием указателей, полученных подпрограммой Windows GetProcAddress(). Макросы могут сделать использование этих указателей прозрачным для любого кода C, который вызывает подпрограммы в C API Python.

    Примечание Borland: сначала конвертируйте python NN .lib в формат OMF, используя Coff2Omf.exe.

    Если вы используете SWIG, легко создать «модуль расширения» Python, который сделает данные и методы приложения доступными для Python. SWIG позаботится обо всех мелких деталях за вас. В результате получается код C, который вы связываете в с вашим .exe-файлом (!) Вам _не_ нужно создавать DLL-файл, и это также упрощает компоновку.

    SWIG создаст функцию инициализации (функция C), имя которой зависит от имени модуля расширения. Например, если имя модуля — leo, функция инициализации будет называться initleo(). Если вы используете теневые классы SWIG, то функция инициализации будет называться initleoc(). Это инициализирует в основном скрытый вспомогательный класс, используемый теневым классом.

    Причина, по которой вы можете связать код C на шаге 2 с файлом .exe, заключается в том, что вызов функции инициализации эквивалентен импорту модуля в Python! (Это второй ключевой недокументированный факт.)

    Короче говоря, вы можете использовать следующий код для инициализации интерпретатора Python с вашим модулем расширения.

    Есть две проблемы с Python C API, которые станут очевидными, если вы используете компилятор, отличный от MSVC, компилятор, используемый для сборки pythonNN.dll.

    Проблема 1. Так называемые функции «очень высокого уровня», которые принимают аргументы FILE *, не будут работать в среде с несколькими компиляторами, поскольку представление структуры FILE в каждом компиляторе будет разным. С точки зрения реализации это функции очень _низкого_ уровня.

    Проблема 2: SWIG создает следующий код при создании оболочек для пустых функций:

    Увы, Py_None — это макрос, который заменяется ссылкой на сложную структуру данных с именем _Py_NoneStruct внутри pythonNN.dll. Опять же, этот код не будет работать в среде с несколькими компиляторами. Замените такой код на:

    Возможно, можно использовать команду SWIG %typemap для автоматического внесения изменений, хотя мне не удалось заставить ее работать (я полный новичок в SWIG).

    Использование сценария оболочки Python для создания окна интерпретатора Python из вашего приложения для Windows не является хорошей идеей; результирующее окно не будет зависеть от оконной системы вашего приложения. Скорее вы (или класс wxPythonWindow) должны создать «родное» окно интерпретатора. Это окно легко подключить к интерпретатору Python. Вы можете перенаправить ввод-вывод Python на _любой_ объект, который поддерживает чтение и запись, поэтому все, что вам нужно, — это объект Python (определенный в вашем модуле расширения), который содержит методы read() и write().

    Как запретить редакторам вставлять вкладки в исходный код Python?¶

    Часто задаваемые вопросы не рекомендуют использовать вкладки, а руководство по стилю Python, PEP 8, рекомендует использовать 4 пробела для распространяемого кода Python; это также режим Python по умолчанию для Emacs.

    В любом редакторе смешивать табуляции и пробелы — плохая идея. MSVC ничем не отличается в этом отношении и легко настраивается для использования пробелов: выберите Инструменты ‣ Параметры ‣ Вкладки, а для типа файла «По умолчанию» установите «Размер табуляции» и «Размер отступа» на 4 и выберите «Вставить пробелы». переключатель.

    Python вызывает IndentationError или TabError, если смешанные табуляции и пробелы вызывают проблемы с начальными пробелами. Вы также можете запустить модуль tabnanny для проверки дерева каталогов в пакетном режиме.

    Как проверить нажатие клавиши без блокировки?¶

    Используйте модуль msvcrt. Это стандартный модуль расширения для Windows. Он определяет функцию kbhit(), которая проверяет наличие нажатия на клавиатуру, и функцию getch(), которая получает один символ, не повторяя его.

    Читайте также: