Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui [RSS Feed]

#1 Апрель 1, 2019 09:27:58

a.bondarenko
Зарегистрирован: 2019-03-28
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui

Т.е., pip все сам делает (подтягивает зависимости)?

Офлайн

#2 Апрель 1, 2019 09:37:25

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui

a.bondarenko
Скажите, пожалуйста, а вам гуглом пользоваться западло, да?



Офлайн

#3 Апрель 1, 2019 09:58:13

a.bondarenko
Зарегистрирован: 2019-03-28
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui

Гуглом и яндексом я пользуюсь активно, но получаю обычно не то, что меня интересует. Я понимаю ваше возмущение, наверное, не хватает мне образования. Но вот пример, скачал недавно книгу по питону, начал разбирать коды, и что вы думаете, из 18 строк кода (прямо из первого примера) - одна строка вообще пропущена, две других не работает. С трудом догадался как сделать, чтобы сработало. Например:
deck._init_() # в исходном коде этот оператор был пропущен (инициализация экземпляра)
deck._len_()) # —-“——- было len(deck), что дает ошибку
Ну и так далее. Закрыл эту книгу и удалил.
Если вам, FishHook, ”не западло", возьмите надо мною шефство. Я, хоть и в годах, еще способен учиться (обо мне можно посмотреть на сайте www.ntctt.boxmail.biz далее Рабочий кабинет => About..). В рамках изучения питона написал программу генерации экзаменационных билетов, да вот не могу никак сделать экзешник, чтобы передать (бесплатно) своим коллегам. Войдите, пожалуйста, в мое положение.

Офлайн

#4 Апрель 1, 2019 10:11:13

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui

a.bondarenko
deck._len_()) # —-“——- было len(deck), что дает ошибку
не дает это ошибку

 class Foo:
     
    def __len__(self):
        return 5
  
f = Foo()
print(len(f))

a.bondarenko
Гуглом и яндексом я пользуюсь активно, но получаю обычно не то, что меня интересует.
А откуда по-вашему другие участники коммьюнити берут информацию? Интернет у нас один, в чем сложности найти например вот эту статью в википедии, в ней есть множество ссылок на документацию, и прочитать её? Ведь конечно же если вы сами получите информацию из первоисточника, это будет гораздо эффективней, чем получить чей то вольный пересказ.



Офлайн

#5 Апрель 1, 2019 10:38:54

a.bondarenko
Зарегистрирован: 2019-03-28
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui

Я вас понял. Будем сами копаться.
Вот описание класса из книги (комментарии мои) из той книги:
class FrenchDeck:
ranks=+list('JQKA') # цена карты
suits='spades diamonds clubs hearts'.split() # масть карты
def _init_(self): # служит для задания начальных значений (инициализация)
self._cards=
def _len_(self): # выдает количество элементов
return len(self._cards)
def _getitem_(self,position): # в исходном коде отсутствовал position
return self._cards # выдает элемент коллекции по номеру
beer_card=Card('7','diamonds') # задаваемая карта
print(beer_card)
deck=FrenchDeck() # создает именованный экземпляр класса
deck._init_() # в исходном коде этот оператор был пропущен (инициализация экземпляра)
print(deck._len_()) # —-"——- было len(deck), что дает ошибку
print(deck._getitem_(-1))
print(deck._cards)# —"——- было deck, что дает ошибку
choice(deck.ranks) # выбор случайной цены карты (choice(deck)не работает)
choice(deck.suits) # выбор случайной масти карты
print (“выбор случайной цены карты=”,choice(deck.ranks))
print (“выбор случайной масти карты=”,choice(deck.suits))
beer_cardv=Card(choice(deck.ranks),choice(deck.suits)) # случайная карта
print (beer_cardv)
Я считаю, что если уж написано в книге, то должно фурыкать без вопросов. len(deck) точно не работает. М.б., версия питона не та, не знаю. Там же и choise(deck) не работал, пришлось отдельно выбирать атрибуты (ranks и suits).

Офлайн

#6 Апрель 1, 2019 10:50:48

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui

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

 __len__
а не так
_len_
надо еще постараться. Скажите, как называется ваш учебник?



Отредактировано FishHook (Апрель 1, 2019 10:51:15)

Офлайн

#7 Апрель 1, 2019 10:55:43

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui

> Т.е., pip все сам делает (подтягивает зависимости)?

Совершенно верно.

> deck._init_() # в исходном коде этот оператор был пропущен (инициализация экземпляра)

Эти методы нужно определять с двумя (а не с одним!) подчёркиваниями с двух сторон. Если это сделать то код из книги будет правильно работать.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#8 Апрель 1, 2019 11:05:15

a.bondarenko
Зарегистрирован: 2019-03-28
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui

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

Офлайн

#9 Апрель 1, 2019 14:25:23

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9715
Репутация: +  842  -
Профиль   Отправить e-mail  

После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui

a.bondarenko,если уж взялся программировать, то поставь себе линукс (второй системой или на виртуальную машину в винде (лучше второй системой)) и освой систему контроля версий Git и сайт https://www.github.com , куда можно выкладывать код. Даже вот сам питон развивается сейчас на github'е ссылка. Это мейнстрим.

a.bondarenko
обо мне можно посмотреть на сайте www.ntctt.boxmail.biz далее Рабочий кабинет => About
Устаревшее у тебя там всё, включайся в современные средства.



Офлайн

#10 Апрель 1, 2019 14:41:08

a.bondarenko
Зарегистрирован: 2019-03-28
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui

Да, ребята, каждый новый критик или помощник имеет все больший рейтинг, вначале было 135, а теперь уже 554. Да, действительно, все устарело, согласен, да ведь я не профессиональный программист, а любитель. Начинал-то еще в 1964 году на ламповых машинах и перфокартах, когда вас, вероятно, еще не было на свете. Все что делал - было на голом энтузиазме. Рад бы включаться в современные средства, но нет уже “тямы”. Но вы все молодцы, завидую вам. Спасибо вам, что вы есть.

Офлайн

  • Начало
  • » GUI
  • » После сборки cx_Freeze'ом экзешник ругается на import win32print и win32ui[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version