python3.5 import tensorflow.contrib error : Function has keyword-only arguments or annotations, 使用可以支持它们的getfullargspec() API

标签 python linux tensorflow anaconda inspect

我正在使用 python 3.5 并在 Linux 上安装了 tensorflow-gpu 1.12.0。当我在 python3.5 中运行它时:

import tensorflow as tf

它工作正常,没有错误。

但是,当我运行时:

import tensorflow.contrib

出现错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/__init__.py", line 49, in <module>
    from tensorflow.contrib import distributions
File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/distributions/__init__.py", line 38, in <module>
from tensorflow.contrib.distributions.python.ops.estimator import *
     File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/distributions/python/ops/estimator.py", line 21, in <module>
    from tensorflow.contrib.learn.python.learn.estimators.head import _compute_weighted_loss
  File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/learn/__init__.py", line 96, in <module>
    from tensorflow.contrib.learn.python.learn import *
  File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/learn/python/__init__.py", line 28, in <module>
    from tensorflow.contrib.learn.python.learn import *
  File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/__init__.py", line 30, in <module>
    from tensorflow.contrib.learn.python.learn import estimators
  File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/estimators/__init__.py", line 302, in <module>
    from tensorflow.contrib.learn.python.learn.estimators.dnn import DNNClassifier
  File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/estimators/dnn.py", line 35, in <module>
    from tensorflow.contrib.learn.python.learn.estimators import dnn_linear_combined
  File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/estimators/dnn_linear_combined.py", line 36, in <module>
    from tensorflow.contrib.learn.python.learn.estimators import estimator
  File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 52, in <module>
    from tensorflow.contrib.learn.python.learn.learn_io import data_feeder
  File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/learn_io/__init__.py", line 26, in <module>
    from tensorflow.contrib.learn.python.learn.learn_io.dask_io import extract_dask_data
  File "/home/myname/anaconda3/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/learn_io/dask_io.py", line 33, in <module>
    import dask.dataframe as dd
  File "/home/myname/anaconda3/lib/python3.5/site-packages/dask/dataframe/__init__.py", line 1, in <module>
    from .core import (DataFrame, Series, Index, _Frame, map_partitions,
  File "/home/myname/anaconda3/lib/python3.5/site-packages/dask/dataframe/core.py", line 23, in <module>
    from .. import array as da
  File "/home/myname/anaconda3/lib/python3.5/site-packages/dask/array/__init__.py", line 4, in <module>
    from .core import (Array, stack, concatenate, take, tensordot, transpose,
  File "/home/myname/anaconda3/lib/python3.5/site-packages/dask/array/core.py", line 13, in <module>
    from toolz.curried import (pipe, partition, concat, unique, pluck, join, first,
  File "/home/myname/anaconda3/lib/python3.5/site-packages/toolz/curried/__init__.py", line 53, in <module>
    _curry_namespace(vars(toolz)),
  File "/home/myname/anaconda3/lib/python3.5/site-packages/toolz/curried/__init__.py", line 48, in _curry_namespace
    for name, f in ns.items() if '__' not in name
  File "/home/myname/anaconda3/lib/python3.5/site-packages/toolz/curried/__init__.py", line 48, in <genexpr>
    for name, f in ns.items() if '__' not in name
  File "/home/myname/anaconda3/lib/python3.5/site-packages/toolz/curried/__init__.py", line 42, in _should_curry
    return (callable(f) and _nargs(f) > 1 or f in do_curry)
  File "/home/myname/anaconda3/lib/python3.5/site-packages/toolz/curried/__init__.py", line 35, in _nargs
    return len(inspect.getargspec(f).args)
  File "/home/myname/anaconda3/lib/python3.5/inspect.py", line 1050, in getargspec
    raise ValueError("Function has keyword-only arguments or annotations"
ValueError: Function has keyword-only arguments or annotations, use getfullargspec() API which can support them

我搜索了 getfullargspec() API,但更加困惑。据我所知,来自 inspect 的 getfullargspec() API 只能处理类似

getfullargsspec(function_name)

我该怎么办?如果您能解释原因并提供简单的解决方案,我将不胜感激。


另外,我在没有 root 权限的情况下在远程服务器上运行代码。命令行如 sudo xxxxx 不要为我工作。

感谢您的帮助!

最佳答案

我也遇到了这个问题。我找到了解决这个问题的方法。

conda install toolz

祝你好运

关于python3.5 import tensorflow.contrib error : Function has keyword-only arguments or annotations, 使用可以支持它们的getfullargspec() API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53261074/

相关文章:

python - 使用 zip 函数时,使用列表理解创建包含单个元素的列表

python - 如何在 python/pygame 中覆盖图 block (图像)中的区域?

python - Kivy - 在 ModalView 中按下按钮后更改屏幕

python-3.x - 在我自己训练的Keras模型中预测我的图像时遇到问题

python - 在 Python 中绘制向量数组 (pyplot)

linux - 如何在 GDB 中打开源文件

c - 如何在 C 中将文件流转换为字符串?

linux - 如何在 Windows 中运行 Matlab 中的 Unix 命令?

python - tf.data.Dataset.repeat() 与 iterator.initializer 之间的区别

python - 导入错误 : cannot import name 'transpose_shape'