【问题标题】:python import does not work in scripts [duplicate]python导入在脚本中不起作用[重复]
【发布时间】:2018-04-20 20:52:41
【问题描述】:

当我进入 python shell 并尝试导入例如 numpytensorflow 时,没有错误,但是当我运行导入 numpy 的脚本时,它会抛出此错误:

Traceback (most recent call last):
  File ".\org.py", line 1, in <module>
    import tensorflow as tf 
  File "C:\Python3\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "C:\Python3\lib\site-packages\tensorflow\python\__init__.py", line 47, in <module>
    import numpy as np
  File "C:\Python3\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import add_newdocs
  File "C:\Python3\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Python3\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "C:\Python3\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Python3\lib\site-packages\numpy\core\__init__.py", line 38, in <module>
    from . import numeric
  File "C:\Python3\lib\site-packages\numpy\core\numeric.py", line 37, in <module>
    import pickle
  File "C:\Python3\lib\pickle.py", line 93, in <module>
    from org.python.core import PyStringMap
  File "C:\Users\Jakub\desktop\Nowy\workspace\python\org.py", line 2, in <module>
    from tensorflow.examples.tutorials.mnist import input_data
  File "C:\Python3\lib\site-packages\tensorflow\examples\tutorials\mnist\__init__.py", line 21, in <module>
    from tensorflow.examples.tutorials.mnist import input_data
  File "C:\Python3\lib\site-packages\tensorflow\examples\tutorials\mnist\input_data.py", line 29, in <module>
    from tensorflow.contrib.learn.python.learn.datasets.mnist import read_data_sets
  File "C:\Python3\lib\site-packages\tensorflow\contrib\__init__.py", line 22, in <module>
    from tensorflow.contrib import bayesflow
  File "C:\Python3\lib\site-packages\tensorflow\contrib\bayesflow\__init__.py", line 24, in <module>
    from tensorflow.contrib.bayesflow.python.ops import csiszar_divergence
  File "C:\Python3\lib\site-packages\tensorflow\contrib\bayesflow\python\ops\csiszar_divergence.py", line 26, in <module>
    from tensorflow.contrib.bayesflow.python.ops.csiszar_divergence_impl import *
  File "C:\Python3\lib\site-packages\tensorflow\contrib\bayesflow\python\ops\csiszar_divergence_impl.py", line 43, in <module>
    from tensorflow.contrib import framework as contrib_framework
  File "C:\Python3\lib\site-packages\tensorflow\contrib\framework\__init__.py", line 88, in <module>
    from tensorflow.contrib.framework.python.framework import *
  File "C:\Python3\lib\site-packages\tensorflow\contrib\framework\python\framework\__init__.py", line 22, in <module>
    from tensorflow.contrib.framework.python.framework.checkpoint_utils import *
  File "C:\Python3\lib\site-packages\tensorflow\contrib\framework\python\framework\checkpoint_utils.py", line 24, in <module>
    from tensorflow.python.ops import io_ops
  File "C:\Python3\lib\site-packages\tensorflow\python\ops\io_ops.py", line 73, in <module>
    from tensorflow.python.framework import dtypes
  File "C:\Python3\lib\site-packages\tensorflow\python\framework\dtypes.py", line 297, in <module>
    dtype_range = {np.bool_: (False, True),
AttributeError: module 'numpy' has no attribute 'bool_'

和张量流:

Traceback (most recent call last):
  File ".\org.py", line 1, in <module>
    import numpy as np
  File "C:\Python3\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import add_newdocs
  File "C:\Python3\lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "C:\Python3\lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
    from .type_check import *
  File "C:\Python3\lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "C:\Python3\lib\site-packages\numpy\core\__init__.py", line 38, in <module>
    from . import numeric
  File "C:\Python3\lib\site-packages\numpy\core\numeric.py", line 37, in <module>
    import pickle
  File "C:\Python3\lib\pickle.py", line 93, in <module>
    from org.python.core import PyStringMap
  File "C:\Users\Jakub\desktop\Nowy\workspace\python\org.py", line 2, in <module>
    import tensorflow as tf
  File "C:\Python3\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "C:\Python3\lib\site-packages\tensorflow\python\__init__.py", line 63, in <module>
    from tensorflow.python.framework.framework_lib import *
  File "C:\Python3\lib\site-packages\tensorflow\python\framework\framework_lib.py", line 76, in <module>
    from tensorflow.python.framework.ops import Graph
  File "C:\Python3\lib\site-packages\tensorflow\python\framework\ops.py", line 37, in <module>
    from tensorflow.python.eager import context
  File "C:\Python3\lib\site-packages\tensorflow\python\eager\context.py", line 27, in <module>
    from tensorflow.python.framework import errors
  File "C:\Python3\lib\site-packages\tensorflow\python\framework\errors.py", line 22, in <module>
    from tensorflow.python.framework import errors_impl as _impl
  File "C:\Python3\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 27, in <module>
    from tensorflow.python.util import compat
  File "C:\Python3\lib\site-packages\tensorflow\python\util\compat.py", line 113, in <module>
    integral_types = (_numbers.Integral, _np.integer)
AttributeError: module 'numpy' has no attribute 'integer'

它更早地工作。我正在使用 Windows 10 x64、Python 3.5.2。我也试过 ubuntu 17,同样的情况。此外,当我在执行脚本后进入 python shell 时,导入会给我同样的错误,直到我重新启动,在我的情况下,powershell。

【问题讨论】:

    标签: python numpy tensorflow python-3.5


    【解决方案1】:

    您有一个名为 org.py 的本地文件,它隐藏了一个可选的内置包(仅在 Jython 中使用)。

    来自您的回溯:

      File "C:\Python3\lib\site-packages\numpy\core\numeric.py", line 37, in 
        import pickle
      File "C:\Python3\lib\pickle.py", line 93, in 
        from org.python.core import PyStringMap
      File "C:\Users\Jakub\desktop\Nowy\workspace\python\org.py", line 2, in <module>
        from tensorflow.examples.tutorials.mnist import input_data
    

    C:\Users\Jakub\desktop\Nowy\workspace\python\org.py 不是 pickle 模块寻找的 Jython 包。

    您只会在运行脚本时看到此异常,因为您的脚本所在的目录(此处为C:\Users\Jakub\desktop\Nowy\workspace\python)会自动添加到sys.path

    属性错误是循环导入引起的; numpy 导入 pickle 再次导入您的 org 脚本,该脚本导入 numpy,但该模块尚未完成所有导入,因此此时缺少名称。

    【讨论】:

    • 重命名为什么?我已将其更改为 pickle2.py,现在它在 中获取 File "C:\Python3\lib\site-packages\numpy\core\numeric.py", 第 37 行泡菜'
    • @Waxy:啊,不,确实。不是pickle.py,而是org。我会更新的。
    • @Waxy:已更新。
    • 该死的蟒蛇,到底是什么。
    • 感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-06-22
    • 2013-05-14
    • 2017-08-15
    • 2021-05-13
    • 2021-10-15
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多