mmld32 发表于 2021-3-13 03:27:17

vsc中无法使用re模块

IDLE一切都还好吧.就说在vscode中,只用re模块,有些不正常
import re
print(re.match('wwww.fishc.com.cn').span())
print(re.match('www.fishc.com.cn'))
操作系统说苹果bigsur
然后vscode中出现了这个错误
AttributeError: partially initialized module 're' has no attribute 'match' (most likely due to a circular import)

怎么说呢.在vscode中写代码个人感觉比较方便,比起idle方便.也不是版本问题导致的.版本问题已经修复过,正常解释执行代码,没有问题就是这个导入模块.有些使用困难.
希望有用vscode的大佬提供方法,解决

mmld32 发表于 2021-3-26 23:25:47

没有人可以回答一下菜鸟的问题吗?
算了.还是用jupyter book吧

hrp 发表于 2021-3-26 23:40:18

mmld32 发表于 2021-3-26 23:25
没有人可以回答一下菜鸟的问题吗?
算了.还是用jupyter book吧

你的源代码是否命名为re.py?改一下名

mmld32 发表于 2021-3-27 00:15:19

hrp 发表于 2021-3-26 23:40
你的源代码是否命名为re.py?改一下名

并没有.单纯就是vscode不能倒入re模块
如果是自己建立文件直接命名的还好
估计应该是vscode没有设置好编程环境.之前就有中文无法输出问题,就是print不出来
要➕
#endcoding=utf-8
在第一行的情况.
个人感觉就是vscode的设置问题,太麻烦了.我还是换jupyter notebook环境吧

还是谢谢你的回复,很久了,都没有人给我回复过

Daniel_Zhang 发表于 2021-3-27 01:05:24

mmld32 发表于 2021-3-27 00:15
并没有.单纯就是vscode不能倒入re模块
如果是自己建立文件直接命名的还好
估计应该是vscode没有设置好 ...

自己不会用 re 模块不要紧哈,别怪电脑和软件喔



import re
print(re.match('www', 'wwww.fishc.com.cn').span())
print(re.match('www', 'www.fishc.com.cn'))

自行查看代码有无区别

Daniel_Zhang 发表于 2021-3-27 01:11:27

除了上面的问题

还有一种情况,检查你的文件夹,或者其他的文件

有没有名字带为 re 的

这种情况出现的唯一可能就是有一个 文件/文件夹和你导入的 package 是一个名字

mmld32 发表于 2021-3-27 14:38:31

Daniel_Zhang 发表于 2021-3-27 01:11
除了上面的问题

还有一种情况,检查你的文件夹,或者其他的文件


请看起清楚前面内容,文件夹不存在re.py文件也没有重名的情况
使用了import re
问题是直接报错.
应该是设置问题
idle使用import 没有问题,
vscode就直接这一段有问题,查看过库.无论是自带2.7
还是下载的3.8版本,都是正常,有re模块在里面
使用pip list查看
python3 的使用pip3 list查看,
都说有re模块存在

yuxijian2020 发表于 2021-3-27 15:02:06

你确定不是你的函数调用有问题? re.match函数到底几个参数你确定了没?

Daniel_Zhang 发表于 2021-3-27 15:12:49

本帖最后由 Daniel_Zhang 于 2021-3-27 15:15 编辑

这个压根和设置没啥关系的

AttributeError: partially initialized module 're' has no attribute 'match' (most likely due to a circular import) 只会出现在循环导包的情况下

要不你就尝试一下新建一个 py 文件,输入并运行以下代码:
import math
print(math.pi)

看看是否还会报错

在运行一下以下代码
import getpass

pswd = getpass.getpass()
print(pswd)


上述操作目的在于,看一下是所有的包都会这样,还是只有 re 包会这样,也就是排除设置错误

另外,能否把完整的错误提示发一下,就是完整的弹出来的那个红框,看看有没有其他的错误信息可以使用

对了,你可以对你有问题的那个文件,用 IDLE 打开, F5 运行一下,看看是不是也会发生同样的错误

Daniel_Zhang 发表于 2021-3-27 15:16:58

yuxijian2020 发表于 2021-3-27 15:02
你确定不是你的函数调用有问题? re.match函数到底几个参数你确定了没?

问题是,函数调用参数缺失不应该是这个错误啊

Exception has occurred: TypeError
match() missing 1 required positional argument: 'string'

hrp 发表于 2021-3-27 15:21:30

mmld32 发表于 2021-3-27 00:15
并没有.单纯就是vscode不能倒入re模块
如果是自己建立文件直接命名的还好
估计应该是vscode没有设置好 ...

看你发的报错信息,re是能导入的,只是不能用match而已,你不妨在源代码中写import re
print(re.__file__)用vscode运行一下,将结果发出来看看。

mmld32 发表于 2021-3-27 15:39:06

python3 "/Users/mmld32/Documents/未命名文件夹/1.py"
(base) mmld32@mmld32deMacBook-Pro 未命名文件夹 % python3 "/Users/mmld32/Documents/未命名文件夹/1.py"
Traceback (most recent call last):
File "/Users/mmld32/Documents/未命名文件夹/1.py", line 1, in <module>
    import re
File "/Users/mmld32/Documents/未命名文件夹/re.py", line 2, in <module>
    print(re.match('wwww.fishc.com.cn').span())
AttributeError: partially initialized module 're' has no attribute 'match' (most likely due to a circular import)

mmld32 发表于 2021-3-27 15:39:46

python3 "/Users/mmld32/Documents/未命名文件夹/1.py"
(base) mmld32@mmld32deMacBook-Pro 未命名文件夹 % python3 "/Users/mmld32/Documents/未命名文件夹/1.py"
Traceback (most recent call last):
File "/Users/mmld32/Documents/未命名文件夹/1.py", line 1, in <module>
    import re
File "/Users/mmld32/Documents/未命名文件夹/re.py", line 2, in <module>
    print(re.match('wwww.fishc.com.cn').span())
AttributeError: partially initialized module 're' has no attribute 'match' (most likely due to a circular import)

mmld32 发表于 2021-3-27 15:41:34

AttributeError: partially initialized module 're' has no attribute 'match' (most likely due to a circular import)


应该是这段错误提示.
按你的代码运行了一次
按个人看法,是vscode的设置有问题

Daniel_Zhang 发表于 2021-3-27 15:43:45

mmld32 发表于 2021-3-27 15:41
AttributeError: partially initialized module 're' has no attribute 'match' (most likely due to a cir ...

有尝试我说的吗

看看其他模块有没有问题,还是单一的 re 模块有问题

mmld32 发表于 2021-3-27 16:04:37

好像就re有问题.其他的,试过了. request,没有任何问题

Daniel_Zhang 发表于 2021-3-27 16:37:43

本帖最后由 Daniel_Zhang 于 2021-3-27 16:46 编辑

mmld32 发表于 2021-3-27 16:04
好像就re有问题.其他的,试过了. request,没有任何问题

回复直接在需要回复的楼层,点击回复,这要你要回复的人就可以看到了

你不回复对应的楼层,对方是没有消息提示的

requests 等模块没有问题的话,就能说明一件事,你的设置是没有问题的,因为包都是在相同的目录下,按理来讲要么就是全报错,要么就是全部报错

我想问一下哈,你不是说你没有 re.py 这个文件吗?

底下红圈里的是你的报错信息吧?为什么有一个 re.py 呢?请把这个 re.py 删除或者命名为其他名称,只要不和 模块名称 相同即可

mmld32 发表于 2021-3-28 10:31:43

Daniel_Zhang 发表于 2021-3-27 16:37
回复直接在需要回复的楼层,点击回复,这要你要回复的人就可以看到了

你不回复对应的楼层,对方是没 ...

谢谢
页: [1]
查看完整版本: vsc中无法使用re模块