无法在Windows上导入distutils.dir_util

时间:2013-09-20 04:42:39

标签: python windows-7-x64 distutils

我正在尝试在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'

使用以下代码可以看到这样:

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:\apps\Python27\lib\distutils\dir_util.pyc'>

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

1 个答案:

答案 0 :(得分:17)

在2.7.5,我可用的最老的,以下为我工作:

    #Both imports are needed to avoid errors
    import distutils
    from distutils import dir_util

    distutils.dir_util.copy_tree("./foo", "./bar")

如果我遗漏了#34; import distutils&#34;,我收到错误:

  

NameError:name&#39; distutils&#39;未定义

如果我遗漏了导入内容,我会收到错误:

  

AttributeError:&#39; module&#39;对象没有属性&#39; dir_util&#39;

对于你提出的最后一个问题,我只能猜测为什么,或许开发人员可能想要为了大小/空间/效率原因而隐藏大部分内容。