这是我上一个问题的后续,here,但是这个问题应该是独立的。当存在一个包含from tensorflow import keras的文件时,当我试图导入tensorflow时,我会得到以下错误。
➜ test1 ls
code.py
➜ test1 cat code.py
from tensorflow import keras
➜ test1 python3
Python 3.7.7 (default, Mar 10 2020, 15:43:33)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.7/site-packages/tensorflow/__init__.py", line 41, in <module>
from tensorflow.python.tools import module_util as _module_util
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/__init__.py", line 64, in <module>
from tensorflow.python.framework.framework_lib import * # pylint: disable=redefined-builtin
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/framework/framework_lib.py", line 25, in <module>
from tensorflow.python.framework.ops import Graph
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 64, in <module>
from tensorflow.python.platform import app
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/platform/app.py", line 23, in <module>
from absl.app import run as _run
File "/usr/local/lib/python3.7/site-packages/absl/app.py", line 35, in <module>
import pdb
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/pdb.py", line 76, in <module>
import code
File "/Users/mathewlewis/Documents/Y4S3/Crypto/kerasTutorial/testing/test1/code.py", line 1, in <module>
from tensorflow import keras
File "/usr/local/lib/python3.7/site-packages/tensorflow/keras/__init__.py", line 14, in <module>
from . import activations
File "/usr/local/lib/python3.7/site-packages/tensorflow/keras/activations/__init__.py", line 10, in <module>
from tensorflow.python.keras.activations import deserialize
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/keras/__init__.py", line 27, in <module>
from tensorflow.python.keras import models
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/keras/models.py", line 23, in <module>
from tensorflow.python.keras import backend as K
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/keras/backend.py", line 36, in <module>
from tensorflow.python.client import session as session_module
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/client/session.py", line 38, in <module>
from tensorflow.python.framework import sparse_tensor
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/framework/sparse_tensor.py", line 29, in <module>
from tensorflow.python.framework import constant_op
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/framework/constant_op.py", line 324, in <module>
ops.register_tensor_conversion_function(
AttributeError: module 'tensorflow.python.framework.ops' has no attribute 'register_tensor_conversion_function'
>>> exit()
➜ test1 ls
__pycache__ code.py
➜ test1 mv code.py temp
➜ test1 rm -r __pycache__
➜ test1 python3
Python 3.7.7 (default, Mar 10 2020, 15:43:33)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>>但是,如果在文件不存在时执行相同的操作,或者该文件没有扩展名.py,则不会出现错误。
➜ test2 ls
➜ test2 python3
Python 3.7.7 (default, Mar 10 2020, 15:43:33)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from tensorflow import keras
>>> exit()
➜ test2此外,我无法运行python脚本而没有错误。
➜ test1 ls
code.py
➜ test1 python3 code.py
Traceback (most recent call last):
File "code.py", line 1, in <module>
from tensorflow import keras
File "/usr/local/lib/python3.7/site-packages/tensorflow/__init__.py", line 41, in <module>
from tensorflow.python.tools import module_util as _module_util
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/__init__.py", line 64, in <module>
from tensorflow.python.framework.framework_lib import * # pylint: disable=redefined-builtin
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/framework/framework_lib.py", line 25, in <module>
from tensorflow.python.framework.ops import Graph
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/framework/ops.py", line 64, in <module>
from tensorflow.python.platform import app
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/platform/app.py", line 23, in <module>
from absl.app import run as _run
File "/usr/local/lib/python3.7/site-packages/absl/app.py", line 35, in <module>
import pdb
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/pdb.py", line 76, in <module>
import code
File "/Users/mathewlewis/Documents/Y4S3/Crypto/kerasTutorial/testing/test1/code.py", line 1, in <module>
from tensorflow import keras
File "/usr/local/lib/python3.7/site-packages/tensorflow/keras/__init__.py", line 14, in <module>
from . import activations
File "/usr/local/lib/python3.7/site-packages/tensorflow/keras/activations/__init__.py", line 10, in <module>
from tensorflow.python.keras.activations import deserialize
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/keras/__init__.py", line 27, in <module>
from tensorflow.python.keras import models
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/keras/models.py", line 23, in <module>
from tensorflow.python.keras import backend as K
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/keras/backend.py", line 36, in <module>
from tensorflow.python.client import session as session_module
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/client/session.py", line 38, in <module>
from tensorflow.python.framework import sparse_tensor
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/framework/sparse_tensor.py", line 29, in <module>
from tensorflow.python.framework import constant_op
File "/usr/local/lib/python3.7/site-packages/tensorflow/python/framework/constant_op.py", line 324, in <module>
ops.register_tensor_conversion_function(
AttributeError: module 'tensorflow.python.framework.ops' has no attribute 'register_tensor_conversion_function'
➜ test1我很困惑,为什么我可以通过python交互式解释器从tensorflow导入keras (我不知道它的正确名称是什么--尽管可以在我运行的脚本中这样做)。此外,为什么另一个文件的存在会影响我的导入能力?
此外,我尝试卸载和重新安装tensorflow,如下所示:
pip3 uninstall tensorflow
pip3 install --upgrade pip
pip3 install tensorflow然而,这并没有解决问题。所有相同的问题仍然会发生,就像上面记录的一样。
另外,我没有直接安装keras。具体来说,我还没有安装像这样的keras:pip3 install keras。尽管如此,我确实安装了它早些时候,所有相同的问题仍然发生,所以我卸载它。通过我的测试,我相信我的问题与我是否安装了keras无关。
与此相关的一点是,我从来没有遇到过任何其他python库的此类问题。Keras和tensorflow是我唯一一次遇到这些问题。这些图书馆是以挑剔著称还是只有我一个人?在这一点上,我花了好几个小时试图让它发挥作用,而且我几乎要放弃了。我想知道是否还有其他用于python的机器学习库。
根据请求,以下是pip freeze的结果
absl-py==0.9.0
arrow==0.15.6
ascii==3.6
astunparse==1.6.3
attrs==19.3.0
blinker==1.4
blis==0.4.1
cachetools==4.1.0
catalogue==1.0.0
certifi==2020.4.5.1
cffi==1.14.0
chardet==3.0.4
click==7.1.2
colorama==0.4.3
conda==4.3.16
cryptography==2.9.2
cycler==0.10.0
cymem==2.0.3
docopt==0.6.2
gast==0.3.3
google-auth==1.15.0
google-auth-oauthlib==0.4.1
google-pasta==0.2.0
grpcio==1.29.0
h5py==2.10.0
idna==2.9
imageio==2.8.0
importlib-metadata==1.6.0
Keras-Applications==1.0.8
keras-models==0.0.7
Keras-Preprocessing==1.1.2
kiwisolver==1.2.0
Markdown==3.2.2
matplotlib==3.2.1
more-itertools==8.3.0
MouseInfo==0.1.3
murmurhash==1.0.2
np==1.0.2
numpy==1.18.4
oauthlib==3.1.0
opencv-python==4.2.0.34
opt-einsum==3.2.1
packaging==20.4
pandas==1.0.3
pathlib==1.0.1
pathtools==0.1.2
peewee==3.13.3
Pillow==7.1.2
plac==1.1.3
pluggy==0.13.1
preshed==3.0.2
protobuf==3.12.0
psycopg2-binary==2.8.5
py==1.8.1
pyasn1==0.4.8
pyasn1-modules==0.2.8
PyAutoGUI==0.9.50
pycosat==0.6.3
pycparser==2.20
pydash==4.7.6
PyGetWindow==0.0.8
PyMsgBox==1.0.8
pyobjc==6.2
pyobjc-core==6.2
pyobjc-framework-Accounts==6.2
pyobjc-framework-AddressBook==6.2
pyobjc-framework-AdSupport==6.2
pyobjc-framework-AppleScriptKit==6.2
pyobjc-framework-AppleScriptObjC==6.2
pyobjc-framework-ApplicationServices==6.2
pyobjc-framework-AuthenticationServices==6.2
pyobjc-framework-AutomaticAssessmentConfiguration==6.2
pyobjc-framework-Automator==6.2
pyobjc-framework-AVFoundation==6.2
pyobjc-framework-AVKit==6.2
pyobjc-framework-BusinessChat==6.2
pyobjc-framework-CalendarStore==6.2
pyobjc-framework-CFNetwork==6.2
pyobjc-framework-CloudKit==6.2
pyobjc-framework-Cocoa==6.2
pyobjc-framework-Collaboration==6.2
pyobjc-framework-ColorSync==6.2
pyobjc-framework-Contacts==6.2
pyobjc-framework-ContactsUI==6.2
pyobjc-framework-CoreAudio==6.2
pyobjc-framework-CoreAudioKit==6.2
pyobjc-framework-CoreBluetooth==6.2
pyobjc-framework-CoreData==6.2
pyobjc-framework-CoreHaptics==6.2
pyobjc-framework-CoreLocation==6.2
pyobjc-framework-CoreMedia==6.2
pyobjc-framework-CoreMediaIO==6.2
pyobjc-framework-CoreML==6.2
pyobjc-framework-CoreMotion==6.2
pyobjc-framework-CoreServices==6.2
pyobjc-framework-CoreSpotlight==6.2
pyobjc-framework-CoreText==6.2
pyobjc-framework-CoreWLAN==6.2
pyobjc-framework-CryptoTokenKit==6.2
pyobjc-framework-DeviceCheck==6.2
pyobjc-framework-DictionaryServices==6.2
pyobjc-framework-DiscRecording==6.2
pyobjc-framework-DiscRecordingUI==6.2
pyobjc-framework-DiskArbitration==6.2
pyobjc-framework-DVDPlayback==6.2
pyobjc-framework-EventKit==6.2
pyobjc-framework-ExceptionHandling==6.2
pyobjc-framework-ExecutionPolicy==6.2
pyobjc-framework-ExternalAccessory==6.2
pyobjc-framework-FileProvider==6.2
pyobjc-framework-FileProviderUI==6.2
pyobjc-framework-FinderSync==6.2
pyobjc-framework-FSEvents==6.2
pyobjc-framework-GameCenter==6.2
pyobjc-framework-GameController==6.2
pyobjc-framework-GameKit==6.2
pyobjc-framework-GameplayKit==6.2
pyobjc-framework-ImageCaptureCore==6.2
pyobjc-framework-IMServicePlugIn==6.2
pyobjc-framework-InputMethodKit==6.2
pyobjc-framework-InstallerPlugins==6.2
pyobjc-framework-InstantMessage==6.2
pyobjc-framework-Intents==6.2
pyobjc-framework-IOSurface==6.2
pyobjc-framework-iTunesLibrary==6.2
pyobjc-framework-LatentSemanticMapping==6.2
pyobjc-framework-LaunchServices==6.2
pyobjc-framework-libdispatch==6.2
pyobjc-framework-LinkPresentation==6.2
pyobjc-framework-LocalAuthentication==6.2
pyobjc-framework-MapKit==6.2
pyobjc-framework-MediaAccessibility==6.2
pyobjc-framework-MediaLibrary==6.2
pyobjc-framework-MediaPlayer==6.2
pyobjc-framework-MediaToolbox==6.2
pyobjc-framework-Metal==6.2
pyobjc-framework-MetalKit==6.2
pyobjc-framework-ModelIO==6.2
pyobjc-framework-MultipeerConnectivity==6.2
pyobjc-framework-NaturalLanguage==6.2
pyobjc-framework-NetFS==6.2
pyobjc-framework-Network==6.2
pyobjc-framework-NetworkExtension==6.2
pyobjc-framework-NotificationCenter==6.2
pyobjc-framework-OpenDirectory==6.2
pyobjc-framework-OSAKit==6.2
pyobjc-framework-OSLog==6.2
pyobjc-framework-PencilKit==6.2
pyobjc-framework-Photos==6.2
pyobjc-framework-PhotosUI==6.2
pyobjc-framework-PreferencePanes==6.2
pyobjc-framework-PubSub==6.2
pyobjc-framework-PushKit==6.2
pyobjc-framework-Quartz==6.2
pyobjc-framework-QuickLookThumbnailing==6.2
pyobjc-framework-SafariServices==6.2
pyobjc-framework-SceneKit==6.2
pyobjc-framework-ScreenSaver==6.2
pyobjc-framework-ScriptingBridge==6.2
pyobjc-framework-SearchKit==6.2
pyobjc-framework-Security==6.2
pyobjc-framework-SecurityFoundation==6.2
pyobjc-framework-SecurityInterface==6.2
pyobjc-framework-ServiceManagement==6.2
pyobjc-framework-Social==6.2
pyobjc-framework-SoundAnalysis==6.2
pyobjc-framework-Speech==6.2
pyobjc-framework-SpriteKit==6.2
pyobjc-framework-StoreKit==6.2
pyobjc-framework-SyncServices==6.2
pyobjc-framework-SystemConfiguration==6.2
pyobjc-framework-SystemExtensions==6.2
pyobjc-framework-UserNotifications==6.2
pyobjc-framework-VideoSubscriberAccount==6.2
pyobjc-framework-VideoToolbox==6.2
pyobjc-framework-Vision==6.2
pyobjc-framework-WebKit==6.2
pyparsing==2.4.7
pyperclip==1.8.0
PyRect==0.1.4
PyScreeze==0.1.26
pytest==5.4.2
pytest-watch==4.2.0
python-dateutil==2.8.1
PyTweening==1.0.3
pytz==2020.1
PyYAML==5.3.1
requests==2.23.0
requests-oauthlib==1.3.0
rsa==4.0
ruamel.yaml==0.16.10
ruamel.yaml.clib==0.2.0
rubicon-objc==0.3.1
scipy==1.4.1
six==1.14.0
spacy==2.2.4
srsly==1.0.2
tabulate==0.8.7
tensorboard==2.2.1
tensorboard-plugin-wit==1.6.0.post3
tensorflow==2.2.0
tensorflow-estimator==2.2.0
termcolor==1.1.0
Theano==1.0.4
thinc==7.4.0
timeloop==1.0.2
tqdm==4.46.0
urllib3==1.25.9
wasabi==0.6.0
watchdog==0.10.2
wcwidth==0.1.9
websocket-client==0.57.0
Werkzeug==1.0.1
wrapt==1.12.1
zipp==3.1.0发布于 2020-06-07 08:59:34
好吧,这是个窃听器。我使用python docker容器复制了您的问题,只安装了最新的tensorflow。修复它的是,code.py 将重命名为 test.py (或其他任何事情)。这意味着这肯定是一个tensorflow问题。在import tensorflow期间,由于某种原因,python也会导入code.py。你会提出一个问题,还是我应该?
发布于 2020-06-08 09:28:48
这与TensorFlow无关。在堆栈跟踪中,您可以看到:
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/pdb.py", line 76, in <module>
import code也就是说,官方的Python包执行pdb,即加载official code module。
当您启动一些Python脚本时,它将在第一个位置将当前路径添加到sys.path。因此,您也不能将脚本命名为sys.py、os.py或任何其他官方Python模块的名称。
https://stackoverflow.com/questions/62165354
复制相似问题