Программирование в Питоне
имею проблему, вы наверняка могли бы помочь.
инсталлировал 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
что эта редиска 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, я бы сильно продвинулся.
после очередной попытки запустить пример по совету из интернета он перестал работать даже из командной строки.
грохнул все, включая python, переустановил заново. в командной строке пример работает, в PyCharm - как и раньше, в eclipse + pydev plugin - .... тоже работает!!!
пожалуй, остановлюсь на командной строке + vi и eclipse, а там выберу что-нибудь из них.
допускаю, что я просто через неудачный пример пытаюсь въехать в тему, и PyCharm значительно превосходит eclipse в своих возможностях и удобстве (после освоения), но я привык доверять больше собственному опыту.
Ни разу не имел дела с kivy, т.к. это тоже экзотика :)
Проставил, чтоб посмотреть, и все было хорошо и запустилось и из PyCharm в том числе, пока я не развернул ему venv, тут-то все и накрылось.
Судя по всему киви очень платформенно зависимая штука, и ему нужны какие-то dll-ки, которые на винде конкретно, из venv под PyCharm не линкуются, хотя requirements указаны как проставленные.
Проверил - под системным (глобальным) интерпретатором все отлично работает под PyCharm.
Но это, скажу вам на 100% беда не Python или PyCharm, а kivy и windows.
P.S. Юзайте, что нравится, я ж не навязываю свои вкусы )) В чем лично мне он облегчает жизнь, я выше перечислил, в остальном каждому свое )
заменило marquee на --filtered--
ни того, ни другого не заметил.
marquee это имелось в виду или что другое
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/...
Итак, 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, но все равно радости в этом мало :)