и на консоли ругани нет, если сервер разработки запустить руками?
обычно, если ты позволяешь фласку жаловаться, и даешь на это повод, он, в отладочном режиме, достаточно подробен, в изложении всего, что о тебе думает :)
воспроизвел вашу конфигурацию файлов с небольшим отличием для a/__init__.py и b/__init__.py виде:
from .main import *
__all__ = ['ClassA']
для 'a' каталога, и аналогично 'b'.
Попробовал импорт:
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from plugins import a
>>> from plugins import b
>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'b']
>>> exit()
пакеты 'a' и 'b' присутствуют. Если я правильно понял суть вашей проблемы, то это должно помочь.
Я зря не упомянул в вопросе, код выше локально работает, и в песочнице, на которой я его демонстрировал заказчику, тоже все ровно. Я ни как не могу заехать на прод. Как раз вот из за этой проблемы.
На что думать не знаю. Поэтому и прошу помощи.
Всех отличий: у меня и в песочнице пингвин, а у заказчика черт, и сетка прикрытая натом. Больше отличий нет. Раз данные приходят в ответ на ajax, вероятность, что дело в nat-е, думаю, мала.
Georgy123, клиент должен правильно указывать адрес сервера
OSError: [WinError 10051] и означает, что вы пытаетесь соединятся с ip, которого у вас в сети нет
правильнее будет сказать: посмотрите, что у вас gethostname() дает, и стучитесь туда клиентом. или укажите клиенту и серверу правильный адрес в явном виде.
PS по поводу ctrl+z - это прерывание исполнения программы, но не ее завершение, не могу сказать, как это работает под win. попробуйте ctrl+c.
сорри, похоже спать пора, не увидел, что сервер у вас udp.
тогда listen и accept не нужны.
> server = ("192.168.0.101",9873)
ваш ip точно такой?
попробуйте 127.0.0.1
Надо же что - нибудь вкусное оставить и автору вопроса.
globals/locals вполне можно использовать. достаточно каждой функции добавить префикс, что - то подобное my_super_command() и дальше, хочешь проверяй наличие префикса 'my_' как в данном случае, а хочешь, дописывай my_ к super_command() и вызывай наздоровье.
Запуск CGI из под сервера на скриптовом языке, вы похоже реально ни куда не спешите :)
Надеюсь вы хотя бы обратили внимание на предупреждение в документации: "Warning: http.server is not recommended for production. It only implements basic security checks."
Decadal, Я, можно сказать, не знаком с yii, но правдоподобный ответ гуглится, только заменить now() на default, и, по идее, должно сработать.
Но вы правы, я был невнимателен, и мой комментарий должен был учитывать присутствие ORM в вопросе. Прошу прощения.
Пробовал смотреть в его сторону. Не понравилось. Функция в 3 строчки, и ворох декораторов сверху. В конечном итоге остановился на falcon. Правда мне нужен был простой api, без swagger-а.
Начну с уточнения:
- flask - это бэкенд, а не фронт.
- вы должны понимать, что, даже в условиях локальной сети вы честный реалтайм не получите.
Итак:
- js на клиенте управляет отображением данных, будет это Chart.js, D3.js или что - то еще, дело ваших предпочтений.
- доставка данных может выполняться ajax запросом, или по вебсокету, flask умеет оба случая. Не знаю, приемлем или нет вариант просто обновлять страницу, иногда, самый простой вариант оказывается и самым надежным.
- забирать данные flask может непосредственно из БД, но можно и редиску припрячь к этому делу. особенно если озадачить сборщика статистики ее публикацией в канал.
Flask для подобного рода задач вполне подходящий инструмент. Не вижу сложностей для его реализации.
Править настройки и со стороны сервера, и со стороны пыха. Для нжинкса это выглядит как-то так.
Для апача тоже есть подобные параметры, на сколько я помню.
Работа программистом, не только в вебе, это перманентная учеба. Вы готовы учится всегда?
Совсем не всегда в веб проекте отдельно есть фронт и бэк разработчики, не всегда бывают дизайнеры и верстальщики, хорошо, если заказчик предоставит хотя бы дизайн, отверстать - это обычно проще, чем с нуля нарисовать, отдельные специалисты по БД - это вообще экзотика.
Если вам это не интересно, а судя по всему, так оно и есть, то вебразработка - это не ваше.
обычно, если ты позволяешь фласку жаловаться, и даешь на это повод, он, в отладочном режиме, достаточно подробен, в изложении всего, что о тебе думает :)