Python 在shub部署项目上设置变量

Python 在shub部署项目上设置变量,python,deployment,scrapy,environment,scrapinghub,Python,Deployment,Scrapy,Environment,Scrapinghub,我正在尝试设置scrapy设置,以便在本地和scrapinghub上使用测试和生产环境。 我想知道是否有任何方法可以在shub部署上设置此变量(例如,如下所示): 然后在settings.py: if env == "test": var1 = some_ip var2 = username elif env == "prod": var1 = some_ip var2 = username 或者。。。也许有更干

我正在尝试设置scrapy设置,以便在本地和scrapinghub上使用测试和生产环境。 我想知道是否有任何方法可以在shub部署上设置此变量(例如,如下所示):

然后在settings.py:

if env == "test":
     var1 = some_ip
     var2 = username
elif env == "prod":
     var1 = some_ip
     var2 = username
或者。。。也许有更干净的方法

谢谢你的阅读

PS:我想根据spider/项目所在的环境自动进行设置,而不是手动更改变量


编辑:找到了更好的解决方案。选中。如果要使用环境变量控制它,可以执行以下操作:导出包含
test
prod
的环境变量
DEPLOY\u TARGET
,并执行以下命令进行部署

shub deploy $DEPLOY_TARGET

最后,我按照以下步骤解决了问题:

  • 实施
现在我的设置如下所示:

  • 然后我的
    \uuuu init\uuuuu.py
    如下所示:

  • 接下来,将
    \u environment.py
    修改如下:

我希望我能帮上忙

PS:请记住,您需要在scrapinghub上有两个项目,一个用于生产,一个用于测试,要做到这一点,您还需要从同一个项目部署,如下所示:

然后你只需要():

  • shub部署测试
    部署测试
  • shub部署prod
    部署到生产
  • shub部署
    部署以进行测试

scrapinghub
平台为您提供在其上设置项目设置的功能UI@eLRuLL我想根据执行spider的位置动态选择设置。谢谢这有助于我思考环境变量,但并没有解决我的问题。无论如何谢谢你!