我正在尝试在 macOS 10.15.4 下使用 pyodbc 和 unixODBC 从 Jupyter 笔记本连接到 MSSQL 服务器。我刚刚将 OSX 升级到 Catalina,之前的工作配置已损坏。
我尝试连接:
pyodbc.connect('Driver={ODBC Driver 13 for SQL Server};Server=xxx;Database=xxx;uid=xxx;pwd=xxx;')
Run Code Online (Sandbox Code Playgroud)
这会引发错误:
Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/usr/local/lib/libmsodbcsql.13.dylib' : file not found (0) (SQLDriverConnect)")
Run Code Online (Sandbox Code Playgroud)
但该文件存在,并且由 obdcinst.ini 中的驱动程序指向,并且链接似乎正确。
为了跟踪这一点,我运行:
$ odbcinst -j
unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /Users/johnmorgan/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Run Code Online (Sandbox Code Playgroud)
驱动文件存在,如下:
$ more /etc/odbcinst.ini
[ODBC Driver 13 for SQL Server]
Description=Microsoft …Run Code Online (Sandbox Code Playgroud) 我在 Jupiter 笔记本中使用 tqdm。通常我会在白色背景上看到一个绿色进度条。但是,现在我看到粉红色背景上有一个黑色进度条:
import tqdm, tqdm.notebook
from time import sleep
# first progress bar
for i in tqdm.notebook.tqdm(range(10)):
sleep(.1)
# second progress bar
for i in tqdm.notebook.tqdm(range(10)):
sleep(.1)
# third progress bar
for i in tqdm.tqdm(range(10)):
sleep(.1)
# fourth progress bar
for i in tqdm.tqdm(range(10), colour='green'):
sleep(.1)
Run Code Online (Sandbox Code Playgroud)
产生这四个条:
我想要的是一个绿色的进度条,没有粉红色的背景。
我安装 PyQt5 后出现了这种行为变化。我已经卸载了,但行为仍然存在。
另外,以前我tqdm.notebook.tqdm在笔记本中使用过进度条。现在该函数不显示进度条(条 1 和条 2)。我需要使用tqdm.tqdm(第 3 条和第 4 条)。
我认为问题与后端有关。