我已经按照给定的顺序运行命令来安装Django AND Oscar:
virtualenv eshop_env
eshop_env/Scripts/Activate
pip install django-oscar
django-admin.py startproject eshop
cd eshop
manage.py migrate
eshop目录中的settings.py文件顶部有以下两行:
import os
from oscar.default import *
os
模块已导入,没有任何错误。但是,from
下有一条红色的波浪线。
我正在使用Visual Studio Code。当我将鼠标悬停在该行上时,它指示无法导入oscar.default
。在所有涉及django和oscar的导入语句中,都会出现相同的错误。
运行迁移命令后,这还会在命令行中导致以下错误:
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
Visual Studio代码对所有代码显示一条红色的行,并以Unable to Import ...
之类的错误开头。
答案 0 :(得分:0)
我认为您已经在虚拟环境中安装了django-oscar
,但这不是问题。我认为您必须“讲述” VS Code以使用名为eshop_env
的特定virtualenv。
请检查此链接以获取有关如何告诉vscode使用哪个virtualenv的详细说明:https://code.visualstudio.com/docs/python/environments。
祝你好运。
答案 1 :(得分:0)
要检查Python在哪里寻找文件,请将此代码复制到settings.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 manage.py runserver”。希望对您有帮助。