【发布时间】:2016-09-24 17:21:07
【问题描述】:
我有两个Django项目,foo和bar,结构如下图。
/tmp/foo
- foo
- __init__.py
- settings.py
- urls.py
- wsgi.py
/tmp/bar
- bar
- __init__.py
- settings.py
- urls.py
- wsgi.py
我尝试在foo的环境中运行python3 /tmp/bar/manage.py runserver但失败了。
$ python3 /tmp/foo/manage.py shell
>>> import subprocess
>>> subprocess.call(['python3', '/tmp/bar/manage.py', 'runserver'])
Traceback (most recent call last):
File "/tmp/bar/manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line 302, in execute
settings.INSTALLED_APPS
File "/usr/local/lib/python3.4/dist-packages/django/conf/__init__.py", line 55, in __getattr__
self._setup(name)
File "/usr/local/lib/python3.4/dist-packages/django/conf/__init__.py", line 43, in _setup
self._wrapped = Settings(settings_module)
File "/usr/local/lib/python3.4/dist-packages/django/conf/__init__.py", line 99, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib/python3.4/importlib/__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2212, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2224, in _find_and_load_unlocked
ImportError: No module named 'foo'
1
我该如何解决这个问题?
(我知道这种行为根本没有意义,但这只是为了演示目的。)
【问题讨论】:
标签: django python-3.x subprocess