我正在尝试安装塔克通过 Devstack。我正在关注这安装指南。我使用与指导。但是,运行 ./stack.sh 后,我看到此错误:
要求已满足:/usr/local/lib/python3.6/dist-packages 中的 pyperclip===1.7.0(来自 -c /opt/stack/requirements/upper-constraints.txt(第 453 行)) 要求已满足:/usr/local/lib/python3.6/dist-packages 中的 wcwidth===0.1.7(来自 -c /opt/stack/requirements/upper-constraints.txt(第 694 行)) 要求已满足:/usr/local/lib/python3.6/dist-packages 中的 zipp===0.6.0(来自 -c /opt/stack/requirements/upper-constraints.txt(第 716 行)) 要求已满足:/usr/local/lib/python3.6/dist-packages 中的 pycparser===2.19(来自 -c /opt/stack/requirements/upper-constraints.txt(第 438 行)) 要求已满足:/usr/local/lib/python3.6/dist-packages 中的 more-itertools===7.2.0(来自 -c /opt/stack/requirements/upper-constraints.txt(第 311 行)) 安装收集的软件包:Django、horizon、tacker-horizon 发现现有安装:Django 2.2.7 卸载Django-2.2.7: 成功卸载Django-2.2.7 找到现有安装:horizon 17.0.1.dev8 无法卸载“horizon”。未找到要卸载的文件。 为 Horizon 运行 setup.py 开发 找到现有安装:tacker-horizon 0.15.1.dev2 无法卸载“tacker-horizon”。未找到要卸载的文件。 为 tacker-horizon 运行 setup.py 开发 成功安装Django-2.0.13 horizon tacker-horizon 您正在使用 pip 版本 9.0.3,但版本 19.3.1 可用。 您应该考虑通过“pip install --upgrade pip”命令进行升级。 回溯(最近一次调用最后一次): 文件“/opt/stack/tacker-horizon/manage.py”,第 18 行,位于 从 django.core.management 导入 execute_from_command_line ImportError:没有名为 django.core.management 的模块 退出时出错 nova-compute:未找到进程 neutron-dhcp-agent:未找到进程 neutron-l3-agent:未找到进程 neutron-metadata-agent:未找到进程 neutron-openvswitch-agent:未找到进程 stack@ubuntu-nfv-1:~/devstack$
我在这里将错误加粗:
文件“/opt/stack/tacker-horizon/manage.py”,第 18 行,来自 django.core.management 导入 execute_from_command_line ImportError:没有名为 django.core.management 的模块退出时出错
我看到之前的警告说考虑通过“pip install --upgrade pip”命令进行升级。我照做了,但仍然看到相同的错误。
每当我尝试重新安装时,我首先运行 ./unstack.sh 和 ./clean.sh 以确保安装环境是干净的。
文件 /opt/stack/tacker-horizon/manage.py 的第一行包括以下内容:
#!/usr/bin/env python 导入操作系统 导入系统 从 django.core.management 导入 execute_from_command_line ..
因此,根据故事这里,manage.py 应该没问题。
我在 VMWare ESXi 中使用 Ubuntu 18.04 虚拟机。
如果有人能就这个问题给我建议,我将非常感激。
答案1
看起来你正在使用不同的 python 发行版。请确保你使用的是 python3,并且 django 也安装在 py3 发行版中。
dk@dk-VirtualBox:~/$ ll /usr/bin/python
lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7*
dk@dk-VirtualBox:~/$ cd /usr/bin/
dk@dk-VirtualBox:/usr/bin$ sudo rm python
dk@dk-VirtualBox:/usr/bin$ sudo ln -s python3.6 python
dk@dk-VirtualBox:/usr/bin$ ll /usr/bin/python
lrwxrwxrwx 1 root root 9 Jan 3 18:40 /usr/bin/python -> python3.6*
答案2
这就是我解决问题的方法。根据这个答案问题,我在 python 命令行中运行了“from django.core.management import execute_from_command_line”,结果出现了同样的错误。但是当我在 python3 命令行中运行同样的命令时,没有出现任何错误。因此,很明显 python3 的 site-packages 文件夹中有 Django,而 python 没有。因此,我将 /opt/stack/tacker-horizon/manage.py 中的 shebang 行“#!/usr/bin/env python”更改为“#!/usr/bin/env python3”。然后,我在运行 ./unstack.sh 后再次运行 ./stack.sh。现在安装成功了。