无法在 Windows 上导入distutils.dir_util



我正在尝试在Windows 7 64位上使用distutils.dir_util。据我从各种谷歌搜索中收集到的信息,我可能需要单独安装一些distutils软件包?我确实有可用的基本distutils软件包,但是它似乎非常精简并且缺少许多组件。尝试研究 distutils 和 windows 总是让我想到 python 构建脚本以及如何将 distutils 打包为可再发行 python 项目的一部分或构建我不感兴趣的 EXE,我根本看不出从哪里获取此代码的任何牵引力。

已经很长时间了,但是我想我从MSI安装程序安装了Python,不确定其他方法是否常见。这是我的解释器输出:

Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import distutils
>>> distutils.dir_util
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'dir_util'

OK 看起来可以使用以下代码实现:

Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import distutils.core
>>> distutils.dir_util
<module 'distutils.dir_util' from 'C:appsPython27libdistutilsdir_util.pyc'>

任何人都可以解释为什么需要这种方法或它是如何工作的吗?

在我可用的最古老的 2.7.5 上,以下内容对我有用:

    #Both imports are needed to avoid errors
    import distutils
    from distutils import dir_util
    distutils.dir_util.copy_tree("./foo", "./bar")

如果我省略"导入distutils",则会出现错误:

名称错误: 未定义名称"distutils"

如果我省略导入,则会出现错误:

属性

错误:"模块"对象没有属性"dir_util"

对于您提出的最后一个问题,我只能猜测为什么,也许开发人员可能出于尺寸/空间/效率原因想要隐藏大部分零件以进行distutils导入。

最新更新