Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 设置系统环境变量_Python_Ubuntu_Flask_Service - Fatal编程技术网

Python 设置系统环境变量

Python 设置系统环境变量,python,ubuntu,flask,service,Python,Ubuntu,Flask,Service,我有一个flask服务器正在运行,如果没有它转储所有环境变量,我就无法让它作为服务运行 这是我的配置,如果没有数据库URL环境变量,它应该使用sqlite。它每次都能工作,除非我把它作为一个服务运行,而在这一点上它永远不会工作 #SQL Alchemy Database config if os.environ.get('DATABASE_URL') is None: print('Using SQLITE') SQLALCHEMY_TRACK_MODIFICATIONS = F

我有一个flask服务器正在运行,如果没有它转储所有环境变量,我就无法让它作为服务运行

这是我的配置,如果没有数据库URL环境变量,它应该使用sqlite。它每次都能工作,除非我把它作为一个服务运行,而在这一点上它永远不会工作

#SQL Alchemy Database config
if os.environ.get('DATABASE_URL') is None:
    print('Using SQLITE')
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_DATABASE_URI = ('sqlite:///' + os.path.join(basedir, 'app.db') + '?check_same_thread=False')
else:
    print('Using MySQL')
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL')
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    #SQLALCHEMY_DATABASE_URI = ('mysql+pymysql://username:password@localhost/20200830MYSQL')
    #export DATABASE_URL="mysql+pymysql://username:password@localhost/20200830MYSQL"
当我手动运行时,将其放置在/etc/environment中是有效的,但服务不起作用。这里是/etc/environment

DATABASE_URL="mysql+pymysql://username:password@localhost/20200830MYSQL"
在终端中执行以下命令对我的服务也不起作用

export DATABASE_URL="mysql+pymysql://username:password@localhost/20200830MYSQL"
我还将它放在/etc/systemd/systemd中的server.service文件中,但它仍然不能工作。以下是server.service文件:

[Unit]
Description=Server
After=multi-user.target

[Service]
DATABASE_URL="mysql+pymysql://username:password@localhost/20200830MYSQL"
WorkingDirectory=/home/jon/server
ExecStart=/home/jon/server/env/bin/gunicorn -k gevent -b 0.0.0.0:5080 app:app
Restart=always

[Install]
RequiredBy = multi-user.target
如前所述,在将变量放入server.service时,我需要更正一些语法。下面是我使用的语法

[Service]
Environment="SECRET=pGNqduRFkB4K9C2vijOmUDa2kPtUhArN"

你看了吗?谢谢你找到了。将变量放入服务中他们是如何修复的。