我正在将我的Django项目开发环境迁移到Eclipse。
我让Python和Django在Eclipse中正常工作。但是,当我尝试添加外部库时,项目找不到它们。
以下是我添加所需模块的方法:
但是,在我这样做的两种情况下(对于Messages模块),我在执行syncdb
时遇到此错误:
错误:没有名为message的模块
我尝试重启Eclipse,但仍然没有运气。
答案 0 :(得分:0)
我是django的新手,所以这可能不是最佳做法,但对我来说效果很好:
<path>/usr/local/lib/python2.7/dist-packages/django_annoying-0.7.6-py2.7.egg</path>
在我看来,这些路径用于代码完成和检查类型等的开发时间......但是当你运行你的项目并且Eclipce没有把它们放到你的python路径中时它们必须在你的python路径中路径自动。
为了确保django应用程序处于PATH状态,我在settings_local.py中添加了类似的内容:
# v PATHS SETTINGS v #
import os
import sys
PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..')
# v 3d-party django-apps v #
DJANGO_APPS_ROOT = os.path.join(PROJECT_ROOT, '..', '..', 'djaddons')
sys.path.insert(0, os.path.join(DJANGO_APPS_ROOT, 'south'))
sys.path.insert(0, os.path.join(DJANGO_APPS_ROOT, 'annoying'))
if CONF_APP_REGISTRATION_ENABLED:
sys.path.insert(0, os.path.join(DJANGO_APPS_ROOT, 'registration'))
# v python libs v #
PYTHON_LIBS_ROOT = os.path.join(PROJECT_ROOT, '..', '..', 'pylibs')
sys.path.insert(0, os.path.join(PYTHON_LIBS_ROOT, 'oauth2'))
sys.path.insert(0, os.path.join(PYTHON_LIBS_ROOT, 'httplib2'))
# ^ END OF PATHS SETTINGS ^ #
(这是我的settings.py的一部分,它特定于环境,在开发计算机和服务器上有所不同)
答案 1 :(得分:0)
最常见的事情是你添加了错误的路径...通过运行命令行比较你在Eclipse中真正添加的路径:
import sys
print('\n'.join(sorted(sys.path)))
并修复Eclipse中的路径。