簡體   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