@19michail90@
Март 21, 2018 16:49:25
Да, когда скрипт запускается не через cron, всё отлично. Работает как надо. Просто нужно это автоматизировать.
py.user.next
Март 21, 2018 16:50:24
@19michail90@
Для третьего питона MySQLdb другая?
Там несколько разных модулей. Во втором питоне модуль для MySQL тоже не встроенный, а сторонний.
Смотри в репозиториях дебиана, для третьего питона пакеты содержат признак, что это для третьего питона.
Пример модуля (который можно поставить через pip)
https://pypi.python.org/pypi/mysql-connector/2.1.6@19michail90@
Да, когда скрипт запускается не через cron, всё отлично.
Это понятно, нужно всё равно третий питон ставить. Там он сильно переработан и многие глюки второго питона уже ушли в прошлое. Будешь второй питон юзать - будут вылазить новые проблемы.
@19michail90@
Март 21, 2018 16:50:42
Когда скрипт запускается не через cron, всё работает как надо. Стоило автоматизировать, и такая проблема всплыла.
py.user.next
Март 21, 2018 17:01:01
@19michail90@
Когда скрипт запускается не через cron, всё работает как надо.
Правильность скрипта под вопросом. В во втором питоне юникодовые строки выводятся в списках, тогда как в третьем питоне в списках выводятся русские символы. То есть питоны просто различаются на одном и том же коде. Но вот вывод в списках - это неправильно само по себе. Но даже если ты правильно напишешь, при запуске во втором питоне проблемы всё равно будут возникать, так как там многие вещи делаются через одно место.
То есть ты можешь сохранять прямо списки из питона в базу данных и даже не понимать, что это неправильно.
Вот различия вывода
Третий питон
>>> ['привет']
['привет']
>>>
Второй питон
>>> ['привет']
['\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82']
>>>
>>> [u'привет']
[u'\u043f\u0440\u0438\u0432\u0435\u0442']
>>>
@19michail90@
Март 23, 2018 16:47:58
В продолжении к предыдущей проблеме. Переделал скрипт под python 3, но когда пытаюсь получить данные из AD по определенным фильтрам, выпадает ошибка:
File “/usr/local/lib/python3.5/dist-packages/ldap3/core/connection.py”, line 1130, in entries
self._entries = self._get_entries(self.response)
File “/usr/local/lib/python3.5/dist-packages/ldap3/core/connection.py”, line 1140, in _get_entries
resp_attr_set = set(response.keys())
Поиск по гугл не помогает((
@19michail90@
Март 23, 2018 17:46:00
Не знаю, что вы там говорили, что python 3 лучше, я уже замучался адаптировать скрипт под него.
Он почему то стал вытаскивать из домена атрибуты, которых нет и за этого ошибка получается. Во втором такой проблемы не было, всё работало, только через cron не хотел. Теперь вообще не работает.
py.user.next
Март 23, 2018 23:16:03
@19michail90@
Переделал скрипт под python 3
Где скрипт?