我在尝试运行 python 脚本时遇到了一个问题,为了简单起见,我们称之为它my_tokenizer.py
,它的内容只是导入拥抱脸的变形金刚。不幸的是,尝试从工作目录运行它会导致 ImportError ,这似乎是由于工作目录中的文件名引起的,并且与transformer
包在其内部某处使用的文件具有相同的名称。
在工作目录中有 2 个文件:
/project/my_tokenizer.py
(仅包含导入“导入变压器”的行)/project/tokenizers.py
(空的文件)
并运行python my_tokenizer.py
导致以下 ImportError:
Traceback (most recent call last):
File "project/my_tokenizer.py", line 1, in <module>
import transformers
File "/Users/radoslawslowinski/opt/anaconda3/envs/aa_ee/lib/python3.8/site-packages/transformers/__init__.py", line 54, in <module>
from .data import (
File "/Users/radoslawslowinski/opt/anaconda3/envs/aa_ee/lib/python3.8/site-packages/transformers/data/__init__.py", line 6, in <module>
from .processors import (
File "/Users/radoslawslowinski/opt/anaconda3/envs/aa_ee/lib/python3.8/site-packages/transformers/data/processors/__init__.py", line 5, in <module>
from .glue import glue_convert_examples_to_features, glue_output_modes, glue_processors, glue_tasks_num_labels
File "/Users/radoslawslowinski/opt/anaconda3/envs/aa_ee/lib/python3.8/site-packages/transformers/data/processors/glue.py", line 24, in <module>
from ...tokenization_utils import PreTrainedTokenizer
File "/Users/radoslawslowinski/opt/anaconda3/envs/aa_ee/lib/python3.8/site-packages/transformers/tokenization_utils.py", line 26, in <module>
from .tokenization_utils_base import (
File "/Users/radoslawslowinski/opt/anaconda3/envs/aa_ee/lib/python3.8/site-packages/transformers/tokenization_utils_base.py", line 31, in <module>
from tokenizers import AddedToken
ImportError: cannot import name 'AddedToken' from 'tokenizers' (/Users/radoslawslowinski/project/tokenizers.py)
虽然我可以将我的文件重命名project/tokenizers.py
为其他名称,但我想知道它为什么会发生。