如何在 nixos 中本地存取庫?

如何在 nixos 中本地存取庫?

我使用 nixOS 有一段時間了,但是來自 Ubuntu 的我在二進制依賴項方面遇到了困難。我的問題是我想在 virtualenv 中安裝 psycopg2。這個包不是純 python 包,它連結到 postgres 二進位。因此,當我嘗試安裝該軟體包時,我得到:

./psycopg/psycopg.h:31:22: fatal error: libpq-fe.h: No such file or directory

問題是 - 如何使二進位庫和頭檔可用於像這樣的本機安裝?

答案1

對於 python 開發,我通常使用nix-shellvirtualenv配置的組合。

% nix-shell -p pythonPackages.virtualenv postgresql
(nix-shell) % virtualenv env
(nix-shell) % ./env/bin/pip install psycopg2

postgresql上面的重要部分是與 virtualenv 一起安裝

有些軟體包(例如 Pillow)對庫應該在哪裡做了太多假設,您可能需要pythonPackages直接使用它。

您可能還感興趣pypi2nix它可以將您的requirements.txt檔案轉換為 nix 表達式。如果你遇到困難,請在 irc 上聯繫我,我很樂意對其進行測試。

相關內容