我一直在学习人工智能和如何用Python编程。我正在做一个项目,决定更新一些Python包,这些包之前不是最新的,然后就出了问题,我无法编译我的代码。我删除了Anaconda3并重新安装,但还是不行。我遇到了这个问题,所以把它作为一个话题发布。如果有人能帮我,我将非常感激。
>>> import tensorflow as tf File "C:\Users\AliGalip\Anaconda3Yeni\lib\site-packages\tensorflow\__init__.py", line 24, in <module> from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import File "C:\Users\AliGalip\Anaconda3Yeni\lib\site-packages\tensorflow\python\__init__.py", line 63, in <module> from tensorflow.python.framework.framework_lib import * # pylint: disable=redefined-builtin File "C:\Users\AliGalip\Anaconda3Yeni\lib\site-packages\tensorflow\python\framework\framework_lib.py", line 104, in <module> from tensorflow.python.framework.importer import import_graph_def File "C:\Users\AliGalip\Anaconda3Yeni\lib\site-packages\tensorflow\python\framework\importer.py", line 32, in <module> from tensorflow.python.framework import function File "C:\Users\AliGalip\Anaconda3Yeni\lib\site-packages\tensorflow\python\framework\function.py", line 36, in <module> from tensorflow.python.ops import resource_variable_ops File "C:\Users\AliGalip\Anaconda3Yeni\lib\site-packages\tensorflow\python\ops\resource_variable_ops.py", line 35, in <module> from tensorflow.python.ops import variables File "C:\Users\AliGalip\Anaconda3Yeni\lib\site-packages\tensorflow\python\ops\variables.py", line 40, in <module> class Variable(checkpointable.CheckpointableBase):AttributeError: module 'tensorflow.python.training.checkpointable' has no attribute 'CheckpointableBase'
回答:
同样的问题已在GitHub上发布。特别是,由@***提出的解决方案在这里可能也适用:
听起来像是TensorFlow的半更新版本。你可以尝试完全删除TensorFlow(例如,
pip uninstall tf-nightly
或任何已安装的包),确保import tensorflow
失败,然后重新安装?
从你的问题中可以看出,你使用Anaconda来管理Python环境,如果上述方法无法解决你的问题,你可以尝试在干净的conda环境中安装TensorFlow,步骤如下:
- 通过
conda create --name tftest
创建一个新环境。(你可以用当前项目的名称替换tftest
。) - 通过
activate tftest
激活该新环境(如果你使用的是MSYS2的bash或类似环境,则使用source activate tftest
)。 - 通过
conda install tensorflow
将TF安装到此环境中。 - 通过
where python
确保你在正确的环境中(应显示包含“tftest”的路径)。 - 通过
python
运行Python。 - 在该环境的shell中
import tensorflow as tf
。
由于你在使用PyCharm(参见此答案的评论),你将需要设置PyCharm以使用这个新环境。实际上,为每个项目使用一个新环境虽然会占用大量磁盘空间,但这是避免这些依赖性较重的数值包出现依赖问题的好方法。