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

Python 3 на Cygwin не видит модуль

THE HEDGEHOG 04-09-2017 17:43

quote:

Did you try this:

brew install freetds
Source: http://pymssql.org/en/latest/intro.html

If you get this error:

__pyx_r = DBVERSION_80;
^
1 error generated.
then you can fix it with this:

brew unlink freetds
brew install homebrew/versions/freetds091
and then install:

pip install pymssql
source: https://github.com/pymssql/pymssql/issues/432


пруф

ELForcer 04-09-2017 19:18

Я это видел. К сожалению, программы brew нет в Cygwin и его не установить через setup. Ну или я не знаю в каком пакете он есть. Поиск по вхождению не дал.

Тут еще читал что возможно в Питоне 3.6 нет поддержки модуля pymssql, попробую на 3.5 установить.

iBelt 05-09-2017 12:25

Brew это всего лишь менеджер пакетов для OS X, суть в том, чтобы установить версию FreeTDS 0.91

На самом деле этого можно и не делать, просто залезь в pymssql-2.1.3.tar.gz, поправь там в исходнике DBVERSION_80 на DBVERSION_71 и пересобери pip'ом. То, что разработчики FreeTDS считали версией протокола 8.0, на самом деле 7.1, просто это выяснилось только после того, как Microsoft соизволила опубликовать спецификацию протокола. Вот тут описано: http://www.freetds.org/userguide/choosingtdsprotocol.htm

Вообще это косяк того, кто делал pymssql, константа считается obsolete. Жди новую версию или поищи форк где добрые люди пофиксили это. (в смысле если не хочешь/не умеешь сам в исходниках ковыряться)

ELForcer 05-09-2017 12:45

iBelt спасибо. Завтра попробую глянуть исходники. Новую версию можно и до нового года не дождаться.