我使用 nixOS 已有一段时间了,但从 Ubuntu 转过来后,我遇到了二进制依赖问题。我的问题是我想在虚拟环境中安装 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 上联系我,我很乐意对它进行测试。