为什么可以';我导入另一个python文件时不会出错吗?(“部分初始化的模块没有属性”)

为什么可以';我导入另一个python文件时不会出错吗?(“部分初始化的模块没有属性”),python,python-3.x,importerror,Python,Python 3.x,Importerror,我正试图导入请求模块以熟悉bs4,但我当前使用的文件中的请求模块已灰显,因此无法识别为模块。当我运行这个几乎为空的程序时,我的项目中的一个无关python文件出现了一个错误 我是否应该将生成的每个python文件单独存储在一个单独的文件夹中? 这两个文件都位于同一个项目文件夹中 import requests response = get('https://www.newegg.ca/p/N82E16868105274') print(response.raise_for_status())

我正试图导入请求模块以熟悉bs4,但我当前使用的文件中的请求模块已灰显,因此无法识别为模块。当我运行这个几乎为空的程序时,我的项目中的一个无关python文件出现了一个错误

我是否应该将生成的每个python文件单独存储在一个单独的文件夹中? 这两个文件都位于同一个项目文件夹中

import requests

response = get('https://www.newegg.ca/p/N82E16868105274')

print(response.raise_for_status())
错误:

  Traceback (most recent call last):
      File "C:\Users\Denze\MyPythonScripts\Webscraping learning\beautifulsoup tests.py", line 1, in <module>
        import requests
      File "C:\Users\Denze\MyPythonScripts\requests.py", line 3, in <module>
        res = requests.get('')
    AttributeError: partially initialized module 'requests' has no attribute 'get' (most likely due to a circular import)
    
    Process finished with exit code 1

你有一个名字冲突。您不是在导入
请求
库,而是在导入脚本

您希望对导入执行以下操作:

MyPythonScripts\beautifulsoup tests.py 
    → requests.get() (the library)
你现在做的是:

MyPythonScripts\beautifulsoup tests.py 
    → MyPythonScripts\requests.py 
    → MyPythonScripts\requests.py .get() (the same file again)
这就是回溯中提到的“循环导入”。模块导入自身并尝试使用在“执行”完成之前不存在的属性,因此解释器认为这是由于未完成的初始化


将Raname
MyPythonScripts\requests.py
添加到其他内容,它应该可以工作。

我认为这就是空间,请在导入之前删除空间。同样,在第二个程序中,它会抛出一个错误,因为您只键入了
import
&这显然是一个语法错误,如果您要导入某个内容,它应该是
import module
。是的,但是为什么我会收到当前未处理的文件的错误?如果我在第二个程序中添加requests模块,我会得到一个循环导入错误。您的第一个代码&它的错误也是一个语法错误,因为“import requests”代码没有很好地对齐,因此,您可以轻松地修复它,第二个也是语法
错误
,如
错误
消息中所述,因为您只键入了
导入
。您可以再次测试编辑:)我已将此代码运行了10次。没有语法错误。你看过密码了吗?我不明白为什么我会从一个完全无关的程序中得到一个错误。如何不同时运行两个程序。
MyPythonScripts\beautifulsoup tests.py 
    → MyPythonScripts\requests.py 
    → MyPythonScripts\requests.py .get() (the same file again)