我已经用 Python 编写了一个应用程序,从 VSCode 运行时工作正常,但是,当尝试从终端运行时,它无法启动。
我得到的错误是:
SQLConnString = 'Driver={ODBC Driver 17 for SQL Server};Server=' + SQLServer+ ';Database=' + SQLDatabase + ';UID='+ SQLLogin +';PWD=' + SQLPassword
TypeError: can only concatenate str (not "NoneType") to str
这显然很清楚,它表明至少这些变量(SQLServer、或)之一具有值,因此串联失败。我就明白这么多了。SQLDatabaseSQLLoginSQLPasswordNone
然而,我不明白的是这些变量是预先定义和加载的:
SQLServer = os.getenv('SQL_SERVER')
SQLDatabase = os.getenv('SQL_DATABASE')
SQLLogin = os.getenv('SQL_LOGIN')
SQLPassword = os.getenv('SQL_PASSWORD')
而且,就像我提到的,如果我在 VSCode 中运行 python 文件,那么该文件可以正常启动并工作;没有错误。所以有一些东西和我在VSCode中调试它和python3 ./mypythonfile.py在bash中运行不同。
我在这里缺少什么,为什么当我从命令行运行它时,环境文件的值没有被拉入变量,而是当我从 VSCode 运行它时。这没有道理。为什么行为不同;一个不起作用,另一个工作正常。
不幸的是,诸如“python3 not loading .env file in cli”之类的搜索引导我找到了告诉我如何创建/使用.env文件的资源;我有一个文件,它可以工作,但似乎不在 CLI 中,我不明白为什么。显然我错过了一些明显的东西,但是当它在 VSCode 中工作时,我希望它应该在 CLI 中工作。
我也在两台不同的设备上尝试过,结果相同。在 VSCode 中运行良好,但无法从命令行启动。
不负相思意
慕田峪4524236
哈士奇WWW
相关分类