我正在使用pip并尝试安装一个名为pyodbc的python模块,它对unixodbc-dev,unixodbc-bin,unixodbc等非python库有一些依赖性.我目前无法在系统中安装这些依赖项,因为我只是在玩,所以我已将它们安装在非标准位置.我如何告诉pip在哪里寻找这些依赖项?更确切地说,如何通过包含dirs(gcc -I)和库dirs(gcc -L -l)的pip来传递信息,以便在构建pyodbc扩展时使用?
使用virtualenv并尝试安装pyodbc.我能找到的所有资源都声称这应该非常简单.在完成MySQL等的所有基本安装之后,只需执行以下操作:
pip install pyodbc
Run Code Online (Sandbox Code Playgroud)
但是,我看到一个非常奇怪的错误.它没有(据我所知)与丢失的库有关,并且在谷歌搜索这种错误很长一段时间之后,我根本找不到任何有建设性的东西.
(local-dev)espears@espears-w ~ $ pip install pyodbc
Downloading/unpacking pyodbc
Could not find any downloads that satisfy the requirement pyodbc
Some externally hosted files were ignored (use --allow-external pyodbc to allow).
Cleaning up...
No distributions at all found for pyodbc
Storing debug log for failure in /home/espears/.pip/pip.log
Run Code Online (Sandbox Code Playgroud)
所以我尝试使用"allow-external"选项,它没有帮助:
(local-dev)espears@espears-w ~ $ pip install --allow-external pyodbc
You must give at least one requirement to install (see "pip help install")
Run Code Online (Sandbox Code Playgroud)
但帮助文档使我看起来正确使用此选项,例如从运行的输出pip help install:
Package Index Options:
... …Run Code Online (Sandbox Code Playgroud) 将OS X上运行的Python与基于云的SQL Server数据库连接的好方法是什么?
编辑:
使用pyodbc我收到此错误:
>>> import pyodbc
>>> cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=adsf.com;DATABASE=asdf;UID=asdf;PWD=asdf')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
pyodbc.Error: ('00000', '[00000] [iODBC][Driver Manager]dlopen({SQL Server}, 6): image not found (0) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud) 我有一台新的 M1 pro macbook,我正在尝试在我的机器上安装 pyodbc 和相关驱动程序。
到目前为止,我已经根据此处的说明通过自制程序和 ODBC 驱动程序安装了 unixodbc:https: //learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver- sql-server-macos?view=sql-server-ver15https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos?查看=sql-server-ver15
然后我 pip 安装了 pyodbc,但是当我尝试pyodbc.connect()在测试脚本中运行时,python 只是中止并显示以下消息,无论我使用哪个连接字符串:
[1] 2086 abort python test.py
经过更多调查后,我发现 pyodbc 没有任何驱动程序。当我运行时,pyodbc.drivers()我得到一个空列表。所以看来 pyodbc 找不到我之前安装的驱动程序。
这是我运行时的输出odbcinst -j:
unixODBC 2.3.9
DRIVERS............: /opt/homebrew/etc/odbcinst.ini
SYSTEM DATA SOURCES: /opt/homebrew/etc/odbc.ini
FILE DATA SOURCES..: /opt/homebrew/etc/ODBCDataSources
USER DATA SOURCES..: /Users/kdot/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Run Code Online (Sandbox Code Playgroud)
该odbcinst.ini文件包含:
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/homebrew/lib/libmsodbcsql.17.dylib
UsageCount=3
Run Code Online (Sandbox Code Playgroud)
我还尝试在连接字符串中明确给出 pyodbc …
我试图在我的Mac Mini上使用Mac OSX mavericks从源代码编译jogl,但是得到了
clang:错误:在Mac OSX Mavericks上不支持选项'-static-libgcc'
我有XCode 5.0.1(5A2053)并安装了命令行工具for OSX Mavericks
有关如何解决此问题的任何提示
在 macOS 12 上pip install pyodbc会出现错误:
src/pyodbc.h:56:10: fatal error: 'sql.h' file not found
Run Code Online (Sandbox Code Playgroud)
对于旧版本的 macOS 和 Pip,此主题已在 OSX 10.9 (Mavericks) 上安装 pyodbc 失败中解决。所提供的答案均不适用于当前版本。
pyodbc ×5
macos ×4
python ×4
pip ×3
sql-server ×2
clang ×1
include-path ×1
jogl ×1
odbc ×1
xcode ×1