简体   繁体   English

pipenv (django) 中的 .env 文件 - ValueError: 嵌入的空字符

[英].env file in pipenv (django) - ValueError: embedded null character

I got a .env file inside my project我的项目中有一个 .env 文件

SECRET_KEY="vvvvvvvtestvvvvv"

I run pipenv shell我运行pipenv shell

But I get like a bunch of errors.但我得到了一堆错误。

PS S:\github\fozvi> pipenv shell
Loading .env environment variables…
Traceback (most recent call last):
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\Sander-PC\AppData\Local\Programs\Python\Python37\Scripts\pipenv.exe\__main__.py", line 9, in <module>
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\vendor\click\core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\vendor\click\core.py", line 717, in main
    rv = self.invoke(ctx)
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\vendor\click\core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\vendor\click\core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\vendor\click\core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\vendor\click\decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\vendor\click\core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\cli\command.py", line 381, in shell
    load_dot_env()
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\core.py", line 172, in load_dot_env
    dotenv.load_dotenv(dotenv_file, override=True)
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\vendor\dotenv\main.py", line 262, in load_dotenv
    return DotEnv(f, verbose=verbose).set_as_environment_variables(override=override)
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\site-packages\pipenv\vendor\dotenv\main.py", line 105, in set_as_environment_variables
    os.environ[k] = v
  File "c:\users\sander-pc\appdata\local\programs\python\python37\lib\os.py", line 684, in __setitem__
    self.putenv(key, value)
ValueError: embedded null character

What am I doing wrong?我究竟做错了什么?

Just ran into this problem.刚遇到这个问题。 It may be a file encoding issue.可能是文件编码问题。

Try opening the .env file in Notepad++, change the encoding to UTF-8, then save the file and try again.尝试在 Notepad++ 中打开 .env 文件,将编码更改为 UTF-8,然后保存文件并重试。

Probably your SECRET_KEY contains a \\0 somewhere and you can't have NUL bytes in an environment variable.可能您的SECRET_KEY在某处包含一个\\0并且您不能在环境变量中包含 NUL 字节。 Just remove it from your SECRET_KEY in the env file and it should work.只需将它从 env 文件中的SECRET_KEY中删除,它应该可以工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM