problem:Attempted relative import in non-package 所谓相对路径其实就是相对于当前module的路径,但如果直接执行脚本,这个module的name就是“__main__”, 而不是module原来的name, 这样相对路径也就不是原来的相对路径了,导入就会失败,出现错误“ValueError: Attempted relative import in non-package” solve: 方法1:把src目录加入到sys.path里去 方法2:把…
显示这个错误可能有两个原因: 1.文件夹中没有包含__init__.py文件,该文件可以为空,但必须存在该文件. 2.把该文件当成主函数入口,该文件所在文件夹不能被解释器视作package,所以可能导致相对路径错误. 解决方法: 1.添加__init__.py文件 2.更改主函数入口位置,或者是导入路径,from . import导入当前文件夹,from .. import导入上级文件夹…
ValueError: attempted relative import beyond top-level package 假设有如下层次包目录 project/ __init__.py mypackage/ __init__.py A/ __init__.py spam.py #* print("In spam") *# grok.py #* print("In grok") *# C/ __init__.py hello.py #* print("I…
包含相对路径import的python脚本不能直接运行,只能作为module被引用. 例如 from . import mod1 有这样代码的文件只能最为moulule为不能直接运行.相对路径就是相对于module的路径,如果直接运行脚本,这个module的那么就是"main",而不是module原来的name,这样相对路径就不是原来的相对路径了,导入就会失败,出现 ValueError: Attempted relative import in non-package ok you…
python 项目 在pycharm中, 在某个文件夹下: 右键--> mark directory as --> source root 如何在python脚本或者shell中 用代码实现 pycharm的文件夹 mark directory as source root的操作 Mark directory as source root 目的是修改程序的 PYTHONPATH,从而影响程序运行时的模块路径.这是 PyCharm 的行为,不清楚你要它干什么.要实现同样目的的话,从脚本里直接修改…
Python工程:ImportError: attempted relative import with no known parent package 解决方法: 1.对每个目录创建的时候都选择创建Python模块而不只是创建文件夹(最好自动创建__init__.py文件,或者查看PYCharm工具的图标有无改变,否则手动可能名字打错会调试很久) 2.引入目录的时候使用尽量使用绝对路径引入(from xxx import yyy:xxx前面不带小数点) 原因解释:ImportError:att…
前言 在这篇文章中,我将会解析 ImportError: attempted relative import with no known parent package 这个异常的原因.当你在运行的python脚本.使用了相对引用方式 (类似import ..module) 去引用包时,可能会出现这个异常. 让我们来看看发生这个异常的例子. 问题 假设你有以下目录结构: project ├── config.py └── demos ├── __init__.py └── demo.py conf…
文章是从stackoverflow翻译过来的,原文地址:Relative imports for the billionth time 本文要在原理上解决  python当中相对包导入出现的问题. 问题描述 在win7.32位的电脑上,运行python2.7.3,经常会出现"Attempted relative import in non-package"这样的问题. 为了解决这个问题,我(提问的人)搜索了以下网站,当然还有更多的网站 http://www.python.org/dev…
执行:python deom/scripts/populate.py ValueError: Attempted relative import in non-package solve:python import时采用了相对路径,使用-m运行 执行: python -m demo.scripts.populate 参考:http://my.oschina.net/leopardsaga/blog/97175 1. 从查到的资料来看,关于import路径的来说,分成3类: absolute im…
数据科学:R & Python 工作 & Kaggle机器学习比赛 可重复函数式编程 一.Python模块的载入 包 Package 模块 module import pandas as pd import numpy as np import matplotlib.pylab as plt 二.R语言包的载入 install.packages("ggplot2") library(ggplot2) require(ggplot2) install.packages(&…