繁体   English   中英

添加包时将 LDFLAGS 和 CPPFLAGS 传递给 Poetry

[英]Pass LDFLAGS and CPPFLAGS to Poetry when adding packages

编辑:我的解决方法最终是将在 Poetry 外部构建的whl文件添加到存储库,并将 pyodbc 作为文件添加到 Poetry.


我正在尝试在我的 M1 Mac 上为 Poetry 范围内的项目安装 pyodbc。

按照pyodbc wiki 页面上的说明安装 Poetry 的“外部”没有问题。

但是,在新项目中使用poetry add pyodbc时,我收到一条错误消息,指出sql.h文件。

我有一种感觉,pyodbc 指令页面中给出的修复程序无法从 Poetry 环境中获得。 关于如何在 Poetry 环境中安装此软件包的任何提示? 有没有办法将诗歌指向额外的 LDFLAGS 和 CPPFLAGS?

在此处输入图像描述

诗歌确实传递LDFLAGSCPPFLAGS 我刚刚收到同样的错误,可以确认以下内容在 M1 Mac 上有效:

brew install unixodbc
export LDFLAGS=-L/opt/homebrew/lib
export CPPFLAGS=-I/opt/homebrew/include
poetry add pyodbc

使用 Poetry 版本 1.1.13 和 Python 3.9.10

(注意:您也可以使用poetry shell激活 virtualenv 并在其中运行pip install pyodbc (在设置 LDFLAGS 和 CPPFLAGS 之后)。构建的包现在应该被缓存,以便您可以在之后使用poetry add添加它。虽然不是一个理想的解决方案,因为它会在更新时中断)。

更新:在https://github.com/mkleehammer/pyodbc/pull/870有一个开放的拉取请求,它使用odbc_config --cflags --libs添加了对路径的自动检测,请随时投票。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM