Django升级,导入错误和软件包名称冲突

哈雷尔

我有一个较旧的django项目(在1.3很热的时候创建),试图将其转换为最新的Django 1.6。

新的目录结构已转换为新的方式,并且项目名称已从所有导入中删除(from myproject.api import x成为from api import x

myproject/
    myproject/
        __init__.py
        settings.py
        urls.py
    api/
        __init__.py
        resthandler.py
    platforms/
        __init__.py
        plat1/
            __init__.py
            handlers.py
            api/
                __init__.py

问题是platform / plat1 / handlers尝试从/api/resthandler.py导入

从api.resthandler导入RestHandler

但是由于已经存在一个较低级别的api,它会因Importhandler不存在而失败,并出现ImportError,它的2个级别在/ api中向上和向下。我试图将项目级别恢复为导入,尝试了相对导入,但没有任何帮助。我似乎无法从platform / plat1 /内导入/ api。我会去改变整个结构,但是我想在走那条路线之前先看看是否缺少什么东西。

哈雷尔

为了将来参考,解决方案是从future导入absolute_imports

from __future__ import absolute_imports

这样,所有导入都是从根开始绝对的,除非使用点符号明确指定了相对导入。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

导入不带Java名称的软件包

来自分类Dev

软件包依赖项的名称错误

来自分类Dev

i686和x86_64之间的dnf错误冲突软件包

来自分类Dev

Swift软件包和冲突的依赖项

来自分类Dev

防止Python软件包重新导出导入的名称

来自分类Dev

升级Ubuntu 16.04 LTS python最小软件包错误

来自分类Dev

从Fedora Rawhide升级单个软件包,得到关键错误

来自分类Dev

升级缺少的软件包?

来自分类Dev

Kubuntu 软件包升级?

来自分类Dev

apt和apt-get升级不同的软件包

来自分类Dev

apt-get给出错误:无法找到所有软件包的软件包<软件包名称>

来自分类Dev

类型名称以软件包名称和版本为前缀

来自分类Dev

类型名称以软件包名称和版本为前缀

来自分类Dev

导入numpy和Scipy软件包的模块/子软件包的差异

来自分类Dev

导入软件包错误,即使已正确安装

来自分类Dev

尝试导入软件包时出现错误消息

来自分类Dev

导入软件包时Android Studio错误

来自分类Dev

尝试导入软件包时出现错误消息

来自分类Dev

通过 conda 安装软件包后出现导入错误

来自分类Dev

错误:无法解析以下软件包名称:在Julia中安装软件包时出错

来自分类Dev

自动导入的软件包的顺序和歧义

来自分类Dev

React Native:无法导入和使用外部软件包

来自分类Dev

使用Webpacker和Rails导入npm软件包的图像

来自分类Dev

导入和使用Google Cloud软件包

来自分类Dev

ES6导入和npm软件包

来自分类Dev

React Native:无法导入和使用外部软件包

来自分类Dev

如何获得伪软件包的真实软件包名称和版本?

来自分类Dev

由于软件包冲突,无法在升级的系统中安装bitcoind

来自分类Dev

由于软件包冲突,无法在升级的系统中安装bitcoind

Related 相关文章

热门标签

归档