无法为Django操作系统导入Python中的模块

2024-05-16 13:08:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过按给定顺序运行命令安装了Django和Oscar:

virtualenv eshop_env
eshop_env/Scripts/Activate

pip install django-oscar

django-admin.py startproject eshop


cd eshop
manage.py migrate

那个设置.pyeshop目录中的文件顶部有以下两行:

import os
from oscar.default import *

os模块导入时没有任何错误。但是,在from下面有一条红色的波浪线。你知道吗

我正在使用visualstudio代码。当我将鼠标悬停在该行上时,它表示无法导入oscar.default。同样的错误出现在我所有涉及django和oscar的import语句中。你知道吗

在运行migrate命令后,这还会导致命令行中出现以下错误:

ModuleNotFoundError: No module named 'oscar.default'

我试过跑步

pip install oscar.default
pip install oscar

但这两个都显示了一个错误。你知道吗

但是,我又成功地运行了pip install django-oscar命令。但是,关于模块的错误并没有改变。你知道吗

我做错什么了?你知道吗

这是我的项目目录结构:

D:\Python Websites\Example\eshop\
D:\Python Websites\Example\eshop_env\

D:\Python Websites\Example\eshop\manage.py

D:\Python Websites\Example\eshop\eshop\settings.py, urls.py etc.

所有其他模块也会发生导入错误:

from django.apps import apps
from django.urls import include, path  # > Django-2.0
from django.contrib import admin
from oscar.app import applications

visualstudio代码为所有这些代码显示了一条红线,并以类似Unable to Import ...的错误开头。你知道吗


Tags: 模块installpipdjangofrompyimport命令
2条回答

我认为您已经在虚拟环境中安装了django-oscar,这不是问题所在。我认为必须“告诉”VS代码才能使用名为eshop_env的特定virtualenv。 有关如何告诉vscode使用哪个virtualenv的详细说明,请查看此链接:https://code.visualstudio.com/docs/python/environments。 祝你好运。你知道吗

要检查Python在哪里查找文件,请将此代码复制到设置.py

import os
import environ
import oscar

# To check where is looking Python

env = environ.Env()

from os.path import dirname, abspath
ROOT = dirname(abspath(__file__)).replace('\\', '/') + '/'

print ("self.__name__: " + __name__)
print ("self.__file__: " + __file__)
print ("ROOT: " + ROOT)


import django
print (django.__path__)
print (oscar.__path__)
print (environ.__path__)
...    

然后键入“python”管理.py控制台中的runserver。我希望这对你有帮助。

相关问题 更多 >