【问题标题】:Can't import torch in Python script无法在 Python 脚本中导入火炬
【发布时间】:2022-01-27 00:01:53
【问题描述】:

所以我今天想尝试一下torch,但我有一个有点令人困惑的问题,我只能在Python控制台中使用它,但不能在我运行包含相同代码的脚本时使用它。

在命令提示符下它工作得很好:

C:\Users\USER>python
Python 3.8.10 (tags/v3.8.10:3d8993a, May  3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__)
1.10.1+cu113
>>>

但是当我从 .py 文件运行完全相同的代码时,它看起来像这样:

PS [USER]@D:\Benutzer\USER\Desktop\torch>python .\torch.py
Traceback (most recent call last):
  File ".\torch.py", line 1, in <module>
    import torch
  File "D:\Benutzer\Julius\Desktop\torch\torch.py", line 5, in <module>
    print(torch.__version__)
AttributeError: partially initialized module 'torch' has no attribute '__version__' (most likely due to a circular import)

实际上,我之前曾尝试通过 Anaconda 安装 Torch,但产生了完全相同的错误,这就是为什么我现在尝试将它与普通 Python 一起使用,在那里我通过 PIP 安装了 Torch。 (我还不得不将 Python 从 3.10.1 降级到 3.8.10,因为 PIP 找不到火炬)

当我在 VSCode 调试器中运行它时,看起来导入也不能正常工作,因为它显示了这个:

我怀疑发生了某种循环导入问题,但我不明白为什么。该代码与控制台中的代码完全相同。文件中只有一条导入语句:import torch

【问题讨论】:

    标签: python pytorch


    【解决方案1】:

    所以,在写这个问题并检查自己的理智时,我突然想到了:

    我将文件命名为torch.py

    所以它试图导入自己。 (我对 Python 导入不是很熟悉,我认为它不会查找本地文件)

    TL;DR:不要将您的脚本文件名完全称为 lib 导入。

    【讨论】:

      猜你喜欢
      • 2020-01-04
      • 2023-04-01
      • 2019-02-14
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 2020-05-05
      • 2020-07-06
      相关资源
      最近更新 更多