标签: dotenv

环境变量未更新

我正在使用 dotenv 包。我有一个保存在 .env 文件中的密钥,但我将其更新为新密钥,但我的脚本仍然输出旧密钥。我的根目录中有“.env”文件。

我认为通过使用 load_dotenv() ,它可以及时获取新密钥(无论它们处于当前状态)并将其保存以在脚本中使用。我究竟做错了什么?

import os
from dotenv import load_dotenv
import praw
load_dotenv()


reddit = praw.Reddit(client_id=os.getenv('reddit_personal_use'),
                     client_secret=os.getenv('reddit_api_key'),
                     user_agent=os.getenv('reddit_app_name'),
                     username=os.getenv('reddit_username'),
                     password=os.getenv('reddit_pw'))
Run Code Online (Sandbox Code Playgroud)

python api python-3.x praw dotenv

12
推荐指数
1
解决办法
5630
查看次数

如何在python中加载不同环境的.env文件?

我有三个用于本地、开发和生产环境的 .env 文件,我必须在为该服务器进行部署时加载特定的环境文件,即如果我正在进行 DEV 部署,那么 dev .env 文件应该加载所有文件。

python flask dotenv

12
推荐指数
1
解决办法
8995
查看次数

找不到模块:错误:无法解析 dotenv/lib 中的“fs”

突然,在创建反应生产版本时,我收到此错误。

> safe-courier@0.1.0 build
> react-scripts build

Creating an optimized production build...
Failed to compile.

Module not found: Error: Can't resolve 'fs' in '/workspace/safe-courier/client/node_modules/dotenv/lib'
Run Code Online (Sandbox Code Playgroud)

我在网上搜索过,发现类似的案例,但框架不同,但对于这个问题都没有帮助。

我尝试卸载 dotenv 并再次重新安装,但出现相同的错误。我不确定 fs 模块是 Nodejs 的一部分并与其捆绑在一起可能会出现什么问题

fs node.js dotenv

12
推荐指数
3
解决办法
3万
查看次数

NestJS 使用 .env 和 @nestjs/config 设置 TypeOrm 连接

我正在尝试找到使用 .env 文件设置 NestJS 数据库的最合法方法。也就是说,我想使用@nestjs/configpackage 来导入 .env 变量并在 TypeOrmModule 中使用它们。

看来我需要使用TypeOrmModule.forRootAsync.

我正在尝试这样做:

// app.module.ts

@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true,
    }),
    TypeOrmModule.forRootAsync({
      useClass: TypeOrmConfigService,
    }),
    ...
  ],

})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)

然后,有TypeOrmConfigService

import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { TypeOrmModuleOptions, TypeOrmOptionsFactory } from '@nestjs/typeorm';

@Module({
  imports: [ConfigModule],
})
export class TypeOrmConfigService implements TypeOrmOptionsFactory {
  constructor(private configService: ConfigService) {}

  createTypeOrmOptions(): TypeOrmModuleOptions {
    return {
      type: 'mysql', …
Run Code Online (Sandbox Code Playgroud)

typescript typeorm nestjs dotenv

11
推荐指数
4
解决办法
2万
查看次数

Linux 中的环境变量未使用 load_dotenv() 加载

我正在尝试制作一个不和谐的机器人,当我尝试使用 load_dotenv() 加载 .env 时,它不起作用,因为它说

Traceback (most recent call last):
  File "/home/fanjin/Documents/Python Projects/Discord Bot/bot.py", line 15, in <module>
    client.run(TOKEN)
  File "/home/fanjin/.local/lib/python3.8/site-packages/discord/client.py", line 708, in run
    return future.result()
  File "/home/fanjin/.local/lib/python3.8/site-packages/discord/client.py", line 687, in runner
    await self.start(*args, **kwargs)
  File "/home/fanjin/.local/lib/python3.8/site-packages/discord/client.py", line 650, in start
    await self.login(*args, bot=bot)
  File "/home/fanjin/.local/lib/python3.8/site-packages/discord/client.py", line 499, in login
    await self.http.static_login(token.strip(), bot=bot)
AttributeError: 'NoneType' object has no attribute 'strip
Run Code Online (Sandbox Code Playgroud)

这是我的机器人代码:

import os

import discord
from dotenv import load_dotenv

load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')

client = discord.Client()

@client.event
async def …
Run Code Online (Sandbox Code Playgroud)

python linux environment-variables dotenv

11
推荐指数
3
解决办法
4万
查看次数

Knex Heroku 错误:自签名证书

我不断收到此错误:

Error: self signed certificate

在终端中运行此命令时:

knex migrate:latest --env production
Run Code Online (Sandbox Code Playgroud)

我的 knexfile.js

       require('dotenv').config(); 
module.exports = {
      development: {
        client: "pg",
        connection: {
          host: "localhost",
          database: "my-movies"
        }
      },

      production: {
        client: "pg",
        connection: process.env.DATABASE_URL
      }
    };
Run Code Online (Sandbox Code Playgroud)

我的 .env 文件:

DATABASE_URL=<my_database_url>?ssl=true
Run Code Online (Sandbox Code Playgroud)

Heroku 应用信息:

Addons:         heroku-postgresql:hobby-dev
Auto Cert Mgmt: false
Dynos:
Git URL:        https://git.heroku.com/path-name.git
Owner:          xxxxxxxxx@xxxx.com
Region:         us
Repo Size:      0 B
Slug Size:      0 B
Stack:          heroku-18
Web URL:        https://my-appname.herokuapp.com/
Run Code Online (Sandbox Code Playgroud)

我试过在 ssl: true 的 knexfile 的生产中放置一个键值对,但我得到了同样的错误。我过去已经这样做过很多次了,从来没有遇到过这个问题。想知道 Heroku 是否改变了任何东西,但在搜索他们的文档时我找不到任何东西。

javascript ssl heroku knex.js dotenv

10
推荐指数
2
解决办法
3859
查看次数

如何使用 Vite 或 Svite 在 Svelte 中加载环境变量

我一直在尝试找出在 Svelte App 中为 API 配置实现环境变量的最佳实践。据我所知,我们必须使用 Vite 或 Svite 才能使其工作。谁能帮我找到解决方案吗?

environment-variables svelte dotenv vite

10
推荐指数
2
解决办法
2万
查看次数

你可以在电子生产中使用 dotenv 吗?

我正在构建一个 Electron、React 应用程序,我需要一个dotenv文件。在代码中,我调用我的变量,process.env.variable这些变量在开发中工作得很好。

然而,一旦与 一起分发electron-builder,则dotenv variables不再起作用 ( undefined)。

我现在的问题是,是否可以做到这一点?如果可以,怎么做?我试图在互联网上找到解决方案,但似乎人们并没有真正面对这个问题。

reactjs electron electron-builder dotenv

10
推荐指数
1
解决办法
3806
查看次数

如何解决pycharm上的错误“dotenv安装错误”

我正在尝试在 pycharm edu 上安装 dotenv 包,但不断收到错误消息“AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'”

我试图通过以 root 用户身份运行命令“pip install --user dotenv”来使用 python 终端解决这个问题,但仍然遇到相同的错误

命令输出如下

Collecting dotenv
Using cached https://files.pythonhosted.org/packages/e2/46/3754073706e31670eed18bfa8a879305b56a471db15f20523c2427b10078/dotenv-0.0.5.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 154, in save_modules
    yield saved
  File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 194, in setup_context
    __import__('setuptools')
  File "/tmp/easy_install-vzgpp8in/distribute-0.7.3/setuptools/__init__.py", line 2, in <module>
  File "/tmp/easy_install-vzgpp8in/distribute-0.7.3/setuptools/extension.py", line 5, in <module>
  File "/tmp/easy_install-vzgpp8in/distribute-0.7.3/setuptools/dist.py", line 7, in <module>
  File "/tmp/easy_install-vzgpp8in/distribute-0.7.3/setuptools/command/__init__.py", line 8, in <module>
  File "/tmp/easy_install-vzgpp8in/distribute-0.7.3/setuptools/command/install_scripts.py", line …
Run Code Online (Sandbox Code Playgroud)

python pip dotenv

9
推荐指数
2
解决办法
7486
查看次数

如何使用 ts-node 加载环境变量?

我尝试了一些实现,但没有成功。

第一次尝试

eval在 package.json 脚本中使用"fetch:data": "eval $(cat .env) ts-node -O '{\"module\":\"commonjs\"}' ./bin/build-api-data.ts"

这会导致 JSON 解析错误,因为 eval 由于某种原因删除了我的引号。

undefined:1
{module:commonjs}
 ^

SyntaxError: Unexpected token m in JSON at position 1
Run Code Online (Sandbox Code Playgroud)

第二次尝试

使用 dotenv,我在这里遇到的问题是竞争条件导致如下错误:

$ CANDID_ENV=local ts-node -O '{"module":"commonjs"}' ./bin/build-api-data.ts

/Users/lassiter.gregg/code/candidco-web/node_modules/contentful/dist/webpack:/contentful/contentful.js:49
    throw new TypeError('Expected parameter accessToken')
          ^
TypeError: Expected parameter accessToken
Run Code Online (Sandbox Code Playgroud)

代码示例

undefined:1
{module:commonjs}
 ^

SyntaxError: Unexpected token m in JSON at position 1
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我尝试dotenv.config在文件顶部、init 和函数中进行操作,如您所见。它总是抛出相同的错误,即 contentful 未获取所需的环境变量。也就是说,如果我记录process.env并注释掉相关的代码,fetchApiData那么我会看到所有的环境变量。这就是为什么我认为这是比赛时的情况,但无法找到与我自己的问题类似的任何东西。

此外,更棘手的是,这是一个必须在 Node 和 esnext 环境中工作的自定义脚本。因此,我使用我不太喜欢的语法遇到了棘手的导入/导出问题,但还没有找到解决方法(例如 …

javascript environment-variables node.js typescript dotenv

9
推荐指数
1
解决办法
3万
查看次数