diff --git a/scrapy/cmdline.py b/scrapy/cmdline.py index 9ec4e1b7a..aebdb51f6 100644 --- a/scrapy/cmdline.py +++ b/scrapy/cmdline.py @@ -96,6 +96,15 @@ def execute(argv=None, settings=None): settings = get_project_settings() check_deprecated_settings(settings) + # --- backwards compatibility for scrapy.conf.settings singleton --- + import warnings + from scrapy.exceptions import ScrapyDeprecationWarning + with warnings.catch_warnings(): + warnings.simplefilter("ignore", ScrapyDeprecationWarning) + from scrapy import conf + conf.settings = settings + # ------------------------------------------------------------------ + crawler = CrawlerProcess(settings) crawler.install() inproject = inside_project() diff --git a/scrapy/conf.py b/scrapy/conf.py index 717f1da6f..23efc6ffd 100644 --- a/scrapy/conf.py +++ b/scrapy/conf.py @@ -1,8 +1,11 @@ # This module is kept for backwards compatibility, so users can import # scrapy.conf.settings and get the settings they expect -from scrapy.project import crawler -settings = crawler.settings +import sys + +if 'scrapy.cmdline' not in sys.modules: + from scrapy.utils.project import get_project_settings + settings = get_project_settings() import warnings from scrapy.exceptions import ScrapyDeprecationWarning