2016-09-08 2 views

ответ

3

Следующие работал для меня на чистую установку Xubuntu 16.04 LTS x64:

Первая задача состоит в том, что FreeTDS мы получаем из репозиториев Ubuntu не поддерживает SSL «из коробки», так что нам нужно строить свои собственные. Начните с установки питона-пип (который также устанавливает Строить-основы, г ++ и кучу других вещей, которые нам нужны) и libssl-разработчика (в библиотеки OpenSSL, необходимые для построения FreeTDS с поддержкой SSL)

sudo apt-get install python-pip libssl-dev 

Скачать исходный код для FreeTDS 0,95 (не 1.x, так как текущий 2.1.3 выпуска pymssql не будет строить против FreeTDS 1.x) от

ftp://ftp.freetds.org/pub/freetds/stable/freetds-0.95.tar.gz

и распакуйте его. Переключитесь на FreeTDS-0.95 каталог, а затем сделать

./configure --with-openssl=/usr/include/openssl --with-tdsver=7.3 
make 
sudo make install 

Проверьте сборку с

tsql -C 

и убедитесь, что "TDS версии: 7.3" и "OpenSSL: да" перечислены. Затем используйте TSQL для тестирования "сырого" FreeTDS соединения, например,

tsql -H example.com -p 1433 -U youruserid -P yourpassword 

Теперь установить pymssql. По умолчанию последних версий корабля, как предварительно скомпилированный файл «колеса», что не поддержки зашифрованных соединений (по крайней мере, это не для меня), поэтому мы должны установить из источника pymssql с помощью

sudo -H pip install --no-binary pymssql pymssql 

Когда сборка завершена, устанавливается pymssql.

Но ... это не сработает (пока). Когда мы пытаемся сделать import pymssql в Python мы получаем

ImportError: libsybdb.so.5: cannot open shared object file: No such file or directory

, потому что очевидно, что файл находится в «неправильном» месте. Исправление (ссылка: here) является создание символической ссылки в «правильном» месте, которое указывает на реальный файл

sudo ln -s /usr/local/lib/libsybdb.so.5 /usr/lib/libsybdb.so.5 
sudo ldconfig 

Теперь pymssql работы с SSL соединений.

Для меня, во всяком случае.

Смежные вопросы