
나는 잠시 동안 nixOS를 사용하고 있지만 Ubuntu에서 오는 경우 바이너리 종속성으로 인해 어려움을 겪습니다. 내 문제는 virtualenv에 psycopg2를 설치하고 싶다는 것입니다. 이 패키지는 순수 Python 패키지가 아니며 Postgres 바이너리에 연결됩니다. 따라서 패키지를 설치하려고 하면 다음과 같은 결과가 나타납니다.
./psycopg/psycopg.h:31:22: fatal error: libpq-fe.h: No such file or directory
문제는 - 이와 같은 로컬 설치에 바이너리 라이브러리와 헤더 파일을 사용할 수 있게 만드는 방법입니다.
답변1
nix-shell
Python 개발의 경우 일반적으로 와 구성 의 조합을 사용합니다 virtualenv
.
% nix-shell -p pythonPackages.virtualenv postgresql
(nix-shell) % virtualenv env
(nix-shell) % ./env/bin/pip install psycopg2
위의 중요한 부분은 postgresql
virtualenv와 함께 설치한다는 것입니다
Pillow와 같은 일부 패키지는 라이브러리가 있어야 하는 위치를 너무 많이 가정하므로 라이브러리를 직접 사용해야 할 수도 있습니다 pythonPackages
.
당신은 또한에 관심이있을 수 있습니다pypi2nixrequirements.txt
파일을 nix 표현식으로 변환할 수 있습니다 . 문제가 발생하면 irc로 저에게 핑을 보내주세요. 테스트해 보고 싶습니다.