Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Программирование в Питоне

1283  1 2 все
  moose старожил27.02.18 23:24
NEW 27.02.18 23:24 
в ответ VornerX 27.02.18 11:36

спасибо. попробую втянуться в PyCharm. может, еще какими-нибудь "секретами" или ресурсами можете поделиться - снова скажу спасибо : )

#21 
  moose старожил28.02.18 16:26
NEW 28.02.18 16:26 
в ответ VornerX 27.02.18 11:36, Последний раз изменено 28.02.18 16:29 (moose)

имею проблему, вы наверняка могли бы помочь.

инсталлировал kivy, пока работал в vi + command line, все было ок. пытаюсь то же самое проделать в pycharm'e - ругается unresolved reference kivy...


from kivy.app import App
from kivy.uix.widget import Widget
class PongGame(Widget):
____pass
class PongApp(App):
____def build(self):
________return PongGame()
if __name__ == '__main__':
____PongApp().run()

речь идет о простеньком "хэлло уорлд". нагуглить ничего не удалось. хотя комьюнити довольно большая. неужели это только у меня такое?

нагуглил такой совет (помеченный как "решение"), но туплю, не могу понять, как это должно сработать : (


https://stackoverflow.com/questions/17016259/how-to-config...


зы. извините, не знаю как заставить сохраняться indents, поэтому ведущие пробелы заменил на underscores

#22 
  moose старожил28.02.18 17:09
NEW 28.02.18 17:09 
в ответ moose 28.02.18 16:26, Последний раз изменено 28.02.18 17:40 (moose)

что эта редиска PyCharm мне учудила. пошел в file->settings->project structure, + add content root, и там наклацал директорию с kivy. появилось "нечто" с названием kivy в левом верхнем окошечке (названия мне выяснить пока не удалось, но я не теряю надежды). пока помню, как я это проделал, решил, что удалю и добавлю еще раз. чтобы запомнилось. выбрал это "нечто", нажал на клавишу дилит, оно спросило подтверждения, я подтвердил, и все хорошо. теперь, думаю, добавлю еще раз. ан не тут-то было! эта сука удалила мне с диска (не перенесла в корзину, а именно потерла без права переписки) всю директорию kivy!

пришлось деинсталлировать и снова инсталлировать.

после этого удалось даже запустить этот пример, и дойти до следующего:


[INFO ] [Logger ] Record log in C:\Users\moose\.kivy\logs\kivy_18-02-28_43.txt
[INFO ] [Kivy ] v1.10.0
[INFO ] [Python ] v2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)]
[INFO ] [Factory ] 194 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif (img_sdl2, img_pil, img_ffpyplayer ignored)
[CRITICAL] [Window ] Unable to find any valuable Window provider.
sdl2 - ImportError: DLL load failed: The specified module could not be found.
File "D:\Program Files\Python27\lib\site-packages\kivy\core\__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "D:\Program Files\Python27\lib\site-packages\kivy\core\window\window_sdl2.py", line 26, in

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

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

"очень удобное управление virtualenv" тоже не могу подтвердить (по крайней мере пока) : (


понимаю, что главная проблему - мое непонимание взаимосвязей и как оно все работает.

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

#23 
  moose старожил28.02.18 22:22
NEW 28.02.18 22:22 
в ответ moose 28.02.18 17:09

после очередной попытки запустить пример по совету из интернета он перестал работать даже из командной строки.

грохнул все, включая python, переустановил заново. в командной строке пример работает, в PyCharm - как и раньше, в eclipse + pydev plugin - .... тоже работает!!!

пожалуй, остановлюсь на командной строке + vi и eclipse, а там выберу что-нибудь из них.


допускаю, что я просто через неудачный пример пытаюсь въехать в тему, и PyCharm значительно превосходит eclipse в своих возможностях и удобстве (после освоения), но я привык доверять больше собственному опыту.

#24 
VornerX завсегдатай28.02.18 23:00
VornerX
NEW 28.02.18 23:00 
в ответ moose 28.02.18 22:22, Последний раз изменено 28.02.18 23:03 (VornerX)

Ни разу не имел дела с kivy, т.к. это тоже экзотика :)


Проставил, чтоб посмотреть, и все было хорошо и запустилось и из PyCharm в том числе, пока я не развернул ему venv, тут-то все и накрылось.

Судя по всему киви очень платформенно зависимая штука, и ему нужны какие-то dll-ки, которые на винде конкретно, из venv под PyCharm не линкуются, хотя requirements указаны как проставленные.

Проверил - под системным (глобальным) интерпретатором все отлично работает под PyCharm.


Но это, скажу вам на 100% беда не Python или PyCharm, а kivy и windows.


P.S. Юзайте, что нравится, я ж не навязываю свои вкусы )) В чем лично мне он облегчает жизнь, я выше перечислил, в остальном каждому свое )

No problem can be solved by the same kind of thinking that created it.
#25 
AlexNek патриот28.02.18 23:15
AlexNek
NEW 28.02.18 23:15 
в ответ moose 28.02.18 16:26
зы. извините, не знаю как заставить сохраняться indents

Нажать кнопу "<>" и вставлять в pre tag

#26 
  moose старожил02.03.18 10:49
NEW 02.03.18 10:49 
в ответ AlexNek 28.02.18 23:15

спасибо. пробую:

from kivy.app import App
from kivy.uix.widget import Widget
class PongGame(Widget):
    pass
class PongApp(App):
    def build(self):
        return PongGame()
if __name__ == '__main__':
    PongApp().run()


было непросто : )

#27 
  moose старожил02.03.18 14:18
NEW 02.03.18 14:18 
в ответ AlexNek 28.02.18 23:15, Последний раз изменено 02.03.18 14:20 (moose)


не хочет: заменило marquee на --filtered-- : (
#28 
  beatus свой человек02.03.18 22:20
beatus
NEW 02.03.18 22:20 
в ответ VornerX 28.02.18 23:00, Последний раз изменено 02.03.18 22:21 (beatus)
Итак, Python. Уже не раз сталкиваюсь с мнением о преимуществах Python в сравнении с PHP. С последним я работаю как раз. Просветите, в чём преимущества первого?
#29 
AlexNek патриот02.03.18 22:54
AlexNek
NEW 02.03.18 22:54 
в ответ moose 02.03.18 14:18
заменило marquee на --filtered--

ни того, ни другого не заметил.


marquee это имелось в виду или что другое

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/...

#30 
VornerX завсегдатай05.03.18 10:01
VornerX
NEW 05.03.18 10:01 
в ответ beatus 02.03.18 22:20
Итак, Python. Уже не раз сталкиваюсь с мнением о преимуществах Python в сравнении с PHP. С последним я работаю как раз. Просветите, в чём преимущества первого?

Это понимать как, да начнётся холивар?)) Судя по тому, что "не первый раз", то все аргументы вы уже слышали )

Ну ок, я подыграю:

- Python полностью объектный, с понятной и предсказуемой объектной моделью, что важно в проектах со сложной бизнес-логикой. В php не всё так очевидно, куча легаси-поведения ещё со времён 3-4 версий, хотя на дворе 2018, и никому не смешно.

- Ошибки. В Python это просто либо работает, либо нет, с чётким traceback. В PHP же - есть нюансы )))

- virtualenv - в php его нет. Да композер предлагает нечно схожее, но подход совсем другой, не такой удобный и отточенный.

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

- множественное наследование

- в Python есть асинхронка (asyncio, aiohttp).

- На Python, при всей его высокоуровневости - крайне комфортно писать разные демоны для ОС, и вообще работа с ОС на нем реализована великолепно, и к тому же он очень сильно дружит с С - узкие места можно легко переписывать на нем и оно будет отлично вместе работать. Попробуйте такой фокус с PHP, я в итоге уже доходил до написания собственного extension - и в итоге забил, т.к. овчинка того не стоила.


Ну это такое, только то, что в голову пришло сходу.

Да, на PHP, я тоже пишу параллельно (где-то 20% времени это PHP, Symfony2, CodeIgniter и 80% Python), язык сильно развился сейчас во времена 7.1, но все равно радости в этом мало :)

No problem can be solved by the same kind of thinking that created it.
#31 
1 2 все