运行 来自 GitLab 项目的 API 时的类型错误

TypeError when running an API from a GitLab project

我可以访问包含以下分支的私有 GitLab 项目:maindevelopnew_branch。机器学习项目非常复杂,包含用于 NLP 的各种转换器,以及从输入文本生成一些输出的许多步骤。快API也被用过

我想看看它是如何工作的 运行。我使用 Windows。我知道我需要 Python 3.9 并安装 pipenv 然后给出以下说明:

Install all dependencies locally by running `pipenv install --dev`. 
Create an empty file named `.env` inside the root project folder. 
Copy and paste the contents of the `.env.example` file into `.env`. 
Run `pipenv run prebuild-win` to download the necessary static files needed by 3rd party libraries. 
Run API using the following command: `pipenv run start`. Go to `http://localhost:8000/`.

我打开 git CMD,克隆了它,它是出现在文件夹中的 develop 分支(对于 new_branch,它显示 Pipeline: failed)。我导航到项目的文件夹,创建了一个虚拟环境并安装了依赖项。在 GitLab 中名为 .env.example 的文件已经作为 .env 出现在我的文件夹中,其中包含必要的内容。我 运行 pipenv run prebuild-win 其他所有东西都安装好了。

但是当我 运行 API 使用 pipenv run start 时,我得到:

Traceback (most recent call last):
  File "C:\Users\me\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\me\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\me\the-project\app\main.py", line 25, in <module>
    api = Api()
  File "C:\Users\me\the-project\app\main.py", line 13, in __init__
    self.config_service = ConfigService()
  File "C:\Users\me\the-project\app\core\config.py", line 17, in __init__
    self.port = int(os.getenv('PORT'))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

我做错了什么吗?

我检查了一下,有一个端口,我认为这是因为我跳过了创建 .env 文件的步骤。我创建了一个空文本文件,复制并粘贴了内容,但我得到了同样的错误。 .env.example 包含:

APP_NAME=My app
VERSION=0.0.1
HOST=127.0.0.1
PORT=1234
int(os.getenv('PORT'))

此行尝试读取环境变量 PORT 并将其转换为整数。

你收到错误的事实

TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

表示os.getenv('PORT')返回None,即环境变量不存在

您需要了解如何设置适当的环境变量。显然将它们写入名为 .env 的文件中是不够的。