我正在将 Python Django 项目从一台服务器移动到另一台服务器。我使用的是 Debian 7,它在目标服务器上标准安装了 python 2.7.3(原始服务器也使用 Debian 7)。
我尝试移动的项目在其父文件夹中具有以下目录:-
-env
-src
它还有一个文件
install.pip
应用程序正在新的网络服务器上运行,现在我已经配置了 uwsgi,但我想使用项目源文件夹中的manage.py。当我运行以下命令时:
python manage.py changepassword user
我收到以下错误
File "manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
为了尝试解决这个问题,我安装了 virtualenv 和 pip 并构建了一个新的虚拟环境。然后我运行了以下命令:
pip install -r /sourcefolder/install.pip
当我这样做时,我收到一个错误
Failed building wheel for Pillow
我在线研究了这个问题并确定了一个可能的解决方案是安装 libjpg,我使用以下命令完成了
apt-get install libjpeg8-dev
然后我再次运行pip install -r/sourcefolder/install.pip
,这次它完成了,没有任何错误。
我尝试再次运行该命令:-
python manage.py changepassword user
我仍然收到错误,但现在它已经改变了。
如果我在虚拟环境之外运行该命令,我会收到以下错误:
文件“manage.py”,第 8 行,来自 django.core.management 从命令行导入执行 导入错误:没有名为 django.core.management 的模块
如果我从虚拟环境内部运行命令(我已使用 install.pip 要求在其中运行了 pip),我会收到此错误
为了便于阅读等,我已将长路径更改为/sourcepath:-
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/sourcepath/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
utility.execute()
File "/sourcepath/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 324, in execute
django.setup()
File "/sourcepath/env/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/sourcepath/env/local/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/sourcepath/env/local/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named dal
更多的在线研究已经确定这可能是由于缺少 dal 软件包,我应该能够安装: -
pip install dal
但是,当我运行该命令时,我收到以下错误
(省略路径的第一部分)
/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
Could not find a version that satisfies the requirement dal (from versions: )
No matching distribution found for dal
我的研究无法找到针对此最新错误的任何解决方案。我开始认为我的方法是错误的,因为我似乎陷入了错误不断增加的陷阱。
我只是想将 django 项目从一台服务器移动到另一台服务器,并从源文件夹执行manage.py,没有任何错误。 (我是系统管理员而不是 django 编码员,所以希望我错过了一个简单的解决方案)非常感谢任何帮助。
最佳答案
dal
表示 django-autocomplete-light 。可能有人忘记将此包包含在需求中。您还可以检查 INSTALLED_APPS 以查看是否确实需要它。
要使用 pip 安装它,您应该执行 pip install django-autocomplete-light
。希望对您有所帮助。
关于python - 当我运行manage.py时如何修复这些错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38327898/