
我使用 nixOS 有一段時間了,但是來自 Ubuntu 的我在二進制依賴項方面遇到了困難。我的問題是我想在 virtualenv 中安裝 psycopg2。這個包不是純 python 包,它連結到 postgres 二進位。因此,當我嘗試安裝該軟體包時,我得到:
./psycopg/psycopg.h:31:22: fatal error: libpq-fe.h: No such file or directory
問題是 - 如何使二進位庫和頭檔可用於像這樣的本機安裝?
答案1
對於 python 開發,我通常使用nix-shell
和virtualenv
配置的組合。
% 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 上聯繫我,我很樂意對其進行測試。