我有一个名为" myplanet"我的manage.py
文件如下:
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myplanet.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
我知道我必须设置一个系统变量DJANGO_SETTINGS_MODULE:myplanet.settings
,并将PYTHONPATH
设置为我的settings.py
文件。我想知道在另一个名为gMaps的项目中我该怎么办?我试图做同样的事情,但它并不简单。我的操作系统是Windows 7 x64
答案 0 :(得分:3)
您可以为每个项目设置两个独立的虚拟环境。我认为这是最好的做法。在这种情况下,您甚至可以根据需要为每个项目安装不同版本的python包。
您可以在这里阅读有关使用virtualenv及其包装的信息: http://virtualenvwrapper.readthedocs.org/en/latest/index.html
答案 1 :(得分:1)
当您的PYTHONPATH
位于包内或是可导入settings.py
的模块时,您无需为您的django项目设置manage.py
变量环境。
PYTHONPATH是Python搜索模块和文件的目录列表。
如果您需要将一个库的路径或项目的根路径添加到其中,则可以在代码中执行此操作。
例如在manage.py
中:
import sys
sys.path.append("/home/my/project")
或者:
import os
BASE_PATH = os.path.abspath(os.path.dirname(__file__))
sys.path.append(BASE_PATH + '/src/folder/of/my/project/')
每个django项目都有自己的manage.py
文件,设置DJANGO_SETTINGS_MODULE
enivoronment本身,你不需要设置它。
我想如果你的manage.py
有这一行:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myplanet.settings")
然后,你只需要为你的项目建立这个结构:
myplanet # It's a project folder
myplanet # It's a package
__init__.py
settings.py
manage.py
您可以使用python manage.py runserver
运行项目而不设置PYTHONPATH
环境变量。