Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.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
在Python3.6以后的版本中,我们是否仍然需要使用_init__u;.py文件使python将文件夹视为包?_Python_Python 3.x - Fatal编程技术网

在Python3.6以后的版本中,我们是否仍然需要使用_init__u;.py文件使python将文件夹视为包?

在Python3.6以后的版本中,我们是否仍然需要使用_init__u;.py文件使python将文件夹视为包?,python,python-3.x,Python,Python 3.x,我已经读到,不再需要在最新版本的python中添加\uuu init\uuu.py文件来将文件夹视为包。然而,python官方文档并没有这样说——例如,下面仍然显示了使用\uuuu init\uuuu.py文件的示例和文档 \uuuu init\uuuuu.py文件是创建Python处理目录所必需的 将文件作为包包含 我们是否仍然需要使用\uuuu init\uuuu.py文件使python将文件夹视为包?添加/删除此文件有什么优点/缺点吗?这是正确的,但仅适用于命名空间包 目前有三种不同的方

我已经读到,不再需要在最新版本的python中添加
\uuu init\uuu.py
文件来将文件夹视为包。然而,python官方文档并没有这样说——例如,下面仍然显示了使用
\uuuu init\uuuu.py
文件的示例和文档

\uuuu init\uuuuu.py
文件是创建Python处理目录所必需的 将文件作为包包含


我们是否仍然需要使用
\uuuu init\uuuu.py
文件使python将文件夹视为包?添加/删除此文件有什么优点/缺点吗?

这是正确的,但仅适用于命名空间包

目前有三种不同的方法来创建名称空间 套餐:

  • 使用本机命名空间包。这种类型的名称空间包在PEP 420中定义,在Python 3.3及更高版本中可用。这是 如果命名空间中的包只需要支持 Python3并通过pip进行安装
  • 使用pkgutil样式的命名空间包。对于需要支持Python2和Python3并通过这两种方式安装的新软件包,建议这样做 pip和python setup.py安装
  • 使用pkg_资源-风格的命名空间包。如果您需要与已使用此方法的包兼容,建议使用此方法 方法,或者如果您的包需要拉链安全

  • 也许您提到了。

    我不确定我是否完全理解它,但是“名称空间包”不需要它,而“常规包”需要它,