Python 使用shutil.make_存档时出现目录层次结构问题

Python 使用shutil.make_存档时出现目录层次结构问题,python,python-3.x,Python,Python 3.x,我想创建pip包的zip存档,代码如下 import shutil import os import pip shutil.make_archive(os.path.join(os.getcwd(), 'pipzip'), 'zip', root_dir=pip.__path__[0]) 但是什么时候 shutil.unpack_archive(os.path.join(os.getcwd(), 'pipzip.zip')) 我得到了当前目录中的文件和文件夹列表,它最初位于pip包中,即 [

我想创建
pip
包的zip存档,代码如下

import shutil
import os
import pip
shutil.make_archive(os.path.join(os.getcwd(), 'pipzip'), 'zip', root_dir=pip.__path__[0])
但是什么时候

shutil.unpack_archive(os.path.join(os.getcwd(), 'pipzip.zip'))
我得到了当前目录中的文件和文件夹列表,它最初位于pip包中,即

['_internal', '_vendor', '__init__.py', '__main__.py', '__pycache__']
虽然我希望有一个名为
pip
的目录来包含
shutil.unpack\u archive
时的文件和文件夹列表,但我应该如何调整
shutil.make\u archive


顺便说一句,我甚至无法理解查阅文档的用途,我认为文档应该更新,以便给出清晰的描述。

你已经完成了一半。基本上,您指定的是根目录,而不是基目录。您可以使用以下代码段来完成此操作

import shutil
import os
import pip
from pathlib import Path
shutil.make_archive(base_name=os.path.join(os.getcwd(), 'pipzip'), format='zip', root_dir=Path(pip.__path__[0]).parent, base_dir=Path(pip.__path__[0]).name)
shutil.unpack_archive(os.path.join(os.getcwd(), 'pipzip.zip'))