0

tkinter КАК подключить в скрипте micromine

Cтанислав 11 months ago in Micromine updated by Stepan (Moderator (RUS)) 11 months ago 23

Answer

Answer

Добрый день. 
У нас есть отдельная ветка с темами по Скриптам

https://forum.micromine.com/communities/12/topics/2476-rabota-so-skriptami-v-micromine-origin-beyond

Имеется руководство по работе со скриптами и инструкция по установке. 
Изучите внимательно инструкцию, в ней описаны детали по установке, т.к. библиотека tkinter устанавливается по умолчанию при активации опции во время установки Python.

Если она у вас отсутствует, то можно установить через командную строку, открыв от имени администратора и прописав pip install tkinter

Answer

Добрый день. 
У нас есть отдельная ветка с темами по Скриптам

https://forum.micromine.com/communities/12/topics/2476-rabota-so-skriptami-v-micromine-origin-beyond

Имеется руководство по работе со скриптами и инструкция по установке. 
Изучите внимательно инструкцию, в ней описаны детали по установке, т.к. библиотека tkinter устанавливается по умолчанию при активации опции во время установки Python.

Если она у вас отсутствует, то можно установить через командную строку, открыв от имени администратора и прописав pip install tkinter

Здравствуйте!

tkinter установлен.

При запуске пробной программки на Python "выбор файла" через диалоговое окно - работает.

А вот при запуске этой же программки через Micromine - НЕ работает, пишет

: No module named 'tkinter' File "E:\Косколь\Косколь 11_11_2022(ММ)\ПРОБА.py", line 2, in
#-------------------------------------------------

import tkinter as tk

import tkinter as tk
from tkinter import filedialog
root=tk.Tk()
root.withdraw()
s_FilePath=filedialog.askopenfilename(title="Откройте файл интервалов", filetypes=(("Файл интервалов","*.DAT"),("","")))
root.destroy()
print(s_FilePath)

#-------------------------------------------------

В ошибке написано No module tkinter, что говорит о том, что запрашиваемая библиотека для нужной версии Python отсутствует. 
Выполните в командной строке pip install tkinter

Запустил - выдало ошибку

ОШИБКА: не удалось найти версию, удовлетворяющую требованию tkinter (из версий: нет)
ОШИБКА: Не найден соответствующий дистрибутив для tkinter

У меня стоит Python 3.7.0 (64-bit)

Стас, вы какой версией Micromine пользуетесь?

Это прекрасно!

Только очень жалко, что Вы игнорируете ссылки на инструкции, которые я скидывал ранее. 
В них написано, что для работы скриптов в Micromine необходимо использовать Python 3.8.10. 
Если хотите использовать скрипты в Micromine, то удалите Python 3.7 и следуя инструкциям установите необходимую версию Python 3.8.10, в таком случае всё будет работать. 

Нет, я не игнорирую ссылки, я читаю ссылки, может где то что то не понял.

Ещё вопрос:

на сайте Python есть (python-3.11.1-amd64) его можно установить или же всё таки версию Python 3.8.10

Именно версия Python 3.8 в данный момент используется в Micromine.
Python 3.11 является другой версией. 

Мы обязательно сообщим всем пользователям и на форуме в том числе, если одна из наших новых версий Micromine перейдёт на другую версию Python. 

Скажите пожалуйста, ещё стоит python launcher на этом компе,
Его тоже надо удалить? Нужен ли он?

Launcher не должен мешать, можете оставить

Степан! Всё получилось. tkinter в ММ работает! :)

Спасибо огромное...

Отлично!

Рад, что смог помочь :)

Прошу прощения за назойливость.

Я писал программы в "Visual Studio Code" на Python, потом загрузил программку в ММ,

там отобразились "казябры", вышел - загрузил опять  в "Visual Studio Code", там тоже всё испортилось

Смена кодировки (UTF-8) ничего не дало, файл испорчен, надо его переписывать.

Подскажите хорошую оболочку для написания программ под Python, и можно ли как то

перекодировать испорченный файл?

В VSC можете продолжать работу, просто настроить кодировку для новых файлов. 
Проблему с кракозябрами можно решить следующим способом:

Заходите на сайт декодер, который позволяет поменять кодировку, ниже приведён пример с сайта:

 http://foxtools.ru/Text

  1. Вставляете испорченный код;
  2. Указываете исходную кодировку Кириллица (Windows);
  3. Конечную кодировку Unicode (UTF-8);
  4. Отправить;
  5. Забираете скрипт из Результата

Image 3873


Альтернатива VSC это PyCharm, кросс-платформенная среда разработки, которая совместима с Windows, macOS, Linux. PyCharm Community Edition (бесплатная версия) находится под лицензией Apache License, а PyCharm Professional Edition (платная версия) является проприетарным ПО. В данной среде разработки очень удобно реализована работа со сторонними библиотеками, а также в неё интегрирован Git.

Добрый день.

Кракозябры исправить не удалось, ну и ладно...

Спасибо за ответ и отзывчивость.

вышлите файл на нашу почту:

techrus@micromine.com

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

  1. https://www.online-decoder.com/ru
    Имеются некоторые погрешности, но их можно поправить:
    Image 3875
  2. https://involta.ru/tools/decoder/
    Также имеются небольшие погрешности, но основная часть преобразуется:
    Image 3876

Спасибо, Выши ссылки помогли.

Есть ещё вопрос.
Можно ли подключить в Python модуль MMpy, ели можно, то как?
Я пробовал через pip. не получилось,Пишет модуль не найден.

Библиотека MMpy устанавливается вместе с Micromine.

Библиотека использует функционал MM, поэтому работает только если запускать скрипты из Micromine.

Можете прописать:

import MMpy

Image 3877

Это я понимаю.
Значит я поставил вопрос не правильно!
Вопрос заключался вот в чём:
В редакторе скриптов в ММ писать НЕ очень удобно, я пишу в редакторе Visual Studio Code, поэтому
я и спрашивал (подключение) про модуль MMpy, чтобы работать в нём.
Тогда вопрос другой, можно ли как то подключить внешний редактор Visual Studio Code вместо стандартного
редактора скриптов в ММ. 

Библиотека MMpy - это проприетарный модуль Python, который использует функционал MM во время его работы. Следовательно, ни один интерпретатор не сможет им пользоваться, если его не запускает ММ.

Значит что и среды разработки тоже не смогут им пользоваться, так как к ним ММ не подключить.

Подобные проблемы не редкость в современном программировании. По этому программисты уже давно изобрели паттерн проектирования "адаптер". В случае ММ мы рекомендуем Вам код, использующий MMpy, разложить по отдельным функциям и потом их просто импортировать. Подробно это описано в нашем мануале в разделе "Создание функции для запуска формы". Данный подход позволит Вам писать скрипты для ММ в любой среде разработки, кроме Jupiter и Anaconda.