python – 导入项目根目录之上的模块
发布时间:2020-12-20 13:34:38 所属栏目:Python 来源:网络整理
导读:我正在玩以下结构: http://timmyomahony.com/blog/2012/11/09/general-django-project-structure-or-folder-layout/ 假设我在lib目录中有一些泛型函数 foo.com -- site root lib/ django_root/ -- project root (checked into Github) 导入如: from ... li
我正在玩以下结构:
http://timmyomahony.com/blog/2012/11/09/general-django-project-structure-or-folder-layout/ 假设我在lib目录中有一些泛型函数 foo.com < -- site root lib/ django_root/ < -- project root (checked into Github) 导入如: from ... lib import my_lib 给我 ValueError: Attempted relative import beyond toplevel package 解决方法
我可以看到两个干净的解决方案
>为此,您的lib必须与Distutils兼容(具有setup.py)文件.如果是这样,那么你只需用带有 pip install -e /full/path/to/foo.com/lib/ 这将以可编辑模式安装库,这意味着lib将不会安装到site-packages,但会在那里创建一个egg符号链接.这意味着您将对lib中的文件所做的任何更改将自动在您的环境中生效. import os,sys root_path = os.path.abspath(os.path.join(__file__,'..','..')) lib_path = os.path.join(root_path,'lib') sys.path.insert(0,lib_path) # ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |