设置shub deploy proj上的变量

2024-05-14 12:56:28 发布

您现在位置:Python中文网/ 问答频道 /正文

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

enter image description here

然后在设置.py公司名称:

if env == "test":
     var1 = some_ip
     var2 = username
elif env == "prod":
     var1 = some_ip
     var2 = username

或者。。。也许有更干净的方法?在

谢谢你的阅读!在

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

编辑:找到了更好的解决方案。选中the answer


Tags: pyipenv名称环境username公司some
2条回答

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

现在我的设置如下:

settings tree

  • 然后我的__init__.py如下所示:

__init__.py file

  • 接下来,将_environment.py修改如下:

_environment.py. this is a function helper that gets programmatically the environment where is Scrapy at the moment

我希望我能帮上忙!在

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

scrapinghub.yml

然后你只需要(reference):

  • shub deploy test部署到测试。在
  • shub deploy prod部署到生产中。在
  • shub deploy部署到测试。在

如果要使用环境变量控制它,可以执行以下操作:导出包含test或{}的环境变量DEPLOY_TARGET,然后执行以下命令进行部署

shub deploy $DEPLOY_TARGET

相关问题 更多 >

    热门问题