Nix Openai Python开发环境构建失败

问题描述

我正在尝试使用nix创建一个包含openai pypi软件包的python37开发环境。

这个question was originally on reddit,但我找不到答案,线程中的活动非常低。

使用到达那里的小费和语言框架文档,我设法提出了以下表达式:

default.nix:

with import<nixpkgs>{};
( let
    openai = pkgs.callPackage ./release.nix {
              inherit pkgs; 
              buildPythonPackage = pkgs.python37Packages.buildPythonPackage;
            };
  in pkgs.python37.buildEnv.override rec {
    extraLibs = [ pkgs.python37Packages.requests openai ];
  }
).env

release.nix

{ pkgs,buildPythonPackage }:

buildPythonPackage rec{
  pname="openai";
  version="0.2.6";

  src=fetchTarball{
    url="https://files.pythonhosted.org/packages/59/2d/b3bc2aa663b2c376f073fd141e128ecfb47f3aff95ccee284a74d85a1ef8/openai-0.2.6.tar.gz";
    sha256="0cplrzfw3i6yxcd35ijfjkx9jbcvkvzn5jn5b8s657a8myhm6kav";
  };

  propagateBuildInputs = [ pkgs.python37Packages.requests ];
  doCheck=false;

  Meta = { # only for testing the env right Now
    homepage="...";
    description="...";
    license = "...";
    maintainers= [];
  };
}

但是,这给我留下了(我猜是它的pip-)错误

Processing ./openai-0.2.6-py3-none-any.whl
ERROR: Could not find a version that satisfies the requirement requests>=2.20; python_version >= "3.0" (from openai==0.2.6) (from versions: none)
ERROR: No matching distribution found for requests>=2.20; python_version >= "3.0" (from openai==0.2.6)
builder for '/nix/store/ncnga4fcxl15xyvv3f325f9g0q45mqvr-python3.7-openai-0.2.6.drv' Failed with exit code 1

这让我感到惊讶,因为propagateBuildInputs = [ pkgs.python37Packages.requests ];明确指出软件包requests(在nixpkgs中为2.22.0版)应在构建时出现。

关于阻止该功能正常运行的buildPythonPackage函数我有什么误解?

解决方法

useEffect(() => { if (timerProgress > 0 && timerProgress < 1) { // Advance the timer every second var timerInterval = setInterval(() => { advanceTimer(); },1000); } return () => { clearInterval(timerInterval); }; },[timerProgress]); 更改为progagatedBuildInputs之类的其他名称会导致它被忽略,因此找不到它包含的任何依赖项(即progagateBuildInputs)。例如:

requests