Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导入不带sys.path.append的父目录包_Python - Fatal编程技术网

Python 导入不带sys.path.append的父目录包

Python 导入不带sys.path.append的父目录包,python,Python,我的项目结构如下: parent/ sub1/ __init__.py directoryManager.py sub2 tst.py 在tst.py中,我试图将directoryManager作为ld从sub1导入, 是否仍然可以在不使用sys.path.append的情况下导入它 非常感谢您可以使用: from .. import directoryManager 额外的增加一本字典 如果这是一个安装到path的程序包,请从parent.s

我的项目结构如下:

parent/
   sub1/
      __init__.py
      directoryManager.py
   sub2
      tst.py
在tst.py中,我试图将directoryManager作为ld从sub1导入, 是否仍然可以在不使用sys.path.append的情况下导入它

非常感谢

您可以使用:

from .. import directoryManager
额外的
增加一本字典

如果这是一个安装到path
的程序包,请从parent.sub1导入directoryManager

import os
import sys

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from sub1 import directoryManager

这应该行。

它让我尝试在非包中进行相对导入error@JialiangZhou这篇文章有帮助吗:好吧,并不是真的导致tst.py被安排通过使用python而不是python-m的服务器运行,我在想是否可以将directoryManager放到computer@JialiangZhou除非我从parent.sub1 import directoryManager中错误地理解了
根字典
的含义,否则我应该将包添加到python/site包中,但它仅在Linux中工作。在windows中,我把它放在python27/Lib/site包中,但在没有sys.path.append的情况下,它不会在问题中明确指出。。。。