Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 无法在Windows上导入distutils.dir\u util_Python_Windows 7 X64_Distutils - Fatal编程技术网

Python 无法在Windows上导入distutils.dir\u util

Python 无法在Windows上导入distutils.dir\u util,python,windows-7-x64,distutils,Python,Windows 7 X64,Distutils,我正在尝试在Windows 7 64位上使用distutils.dir_util。就我从各种谷歌搜索中收集到的信息而言,我可能需要单独安装一些distutils包?我有基本的distutils包可用,但它似乎是非常精简和许多组件丢失。试图研究distutils和windows总是让我想到python构建脚本,以及如何将distutils打包为可再发行python项目的一部分,或者构建我不感兴趣的exe,我根本看不到从何处获取这些代码 这已经有很长一段时间了,但是我想我是从MSI安装程序安装Pyt

我正在尝试在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(默认值,2012年4月10日23:24:47)[MSC v.1500 64位(AMD64)]在win上
32
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>导入区
>>>distutils.dir\u util
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
AttributeError:“模块”对象没有属性“dir\u 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:\apps\Python27\lib\distutils\dir_util.pyc'>
win32上的Python 2.7.3(默认值,2012年4月10日23:24:47)[MSC v.1500 64位(AMD64)] 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>导入distutils.core >>>distutils.dir\u util
有人能解释一下为什么需要这种方法,或者它是如何工作的吗?

在2.7.5版上,这是我所拥有的最古老的版本,以下内容适合我:

如果我省略了“import distutils”,则会出现以下错误:

NameError:未定义名称“distutils”

如果我将从导入中删除,则会出现以下错误:

AttributeError:“模块”对象没有属性“dir\u util”


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

我发现答案不完整,所以我在这里回答了。奇怪!我在Python3.6.4和Python3.5.2上也一样。
    #Both imports are needed to avoid errors
    import distutils
    from distutils import dir_util

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