与PyCharm一样,为什么运行Django项目时PYTHONPATH与运行manage.py syncdb任务时不同?

时间:2011-03-02 19:15:15

标签: python django pythonpath pycharm syncdb

默认不应该一样吗?如果没有,有没有办法解决这个问题,以便使用相同的PYTHONPATH?

2 个答案:

答案 0 :(得分:1)

这可能不是理想的解决方案,但它有效,并且由我的老板提供。

修改pycharm的django_manage.py,在所有现有代码之前在顶部插入以下代码。 django_manage.py可以在[PyCharm安装目录] /helpers/pycharm/django_manage.py找到。

import site
import sys

# Add the locations missing from PYTHONPATH when running a manage.py task here.
ALLDIRS = [
    r'C:\git_repos\src\dev\common\py',
    r'C:\git_repos\src\dev\main_website',
]

# Remember original sys.path.

prev_sys_path = list(sys.path)

# Add each new site-packages directory.

for directory in ALLDIRS:
    site.addsitedir(directory)

# Reorder sys.path so new directories at the front.

new_sys_path = []
for item in list(sys.path):
    if item not in prev_sys_path:
        new_sys_path.append(item)
        sys.path.remove(item)
sys.path[:0] = new_sys_path

答案 1 :(得分:0)

您是否在“设置”>中为项目选择了正确的python安装? Python解释器?