-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TypeError: an integer is required #62
Comments
pip install tree-sitter-python==0.21 will solve the problem. |
|
I got it working with tree-sitter==0.23.1 and codebleu==0.7.1. |
I’m also encountering the |
I have an update. I wasn’t able to resolve the issue on my x86 Ubuntu environment, but I managed to get it working on an M3 MacBook with the following setup:
|
Thanks,this method has solved my question. |
Since this is resolved by installing tree-sitter-0.23.1, the commit in bedf9e8 should resolve the issue. It is just not yet released. |
Confirmed from @nielstron.
The problem is caused by capabilities of tree-sitter. Somehow the metadata of codebleu write the following incompatible dependency in ver. 0.7.0:
this "tree-sitter-language~=0.21" means that the pip will automatically install any version of tree-sitter below 1.0. return Language(tree_sitter_python.language())
TypeError: an integer is required The correct writting is ~=0.21.0, which means install any version below 0.22.0, which you can't dirrectly fixed in pypi or pip. So the manual fixing is to:
OR
OR
Anyway, this bug will finally be fixed as the team release 0.7.1 on PyPi. |
I failed on the given example with a typeerror.
TypeError Traceback (most recent call last)
Cell In[1], line 6
3 prediction = "def add ( a , b ) :\n return a + b"
4 reference = "def sum ( first , second ) :\n return second + first"
----> 6 result = calc_codebleu([reference], [prediction], lang="python", weights=(0.25, 0.25, 0.25, 0.25), tokenizer=None)
7 print(result)
File d:\cc\LLM_DynaEval_Coding\mbpp+\codebleu\codebleu.py:41, in calc_codebleu(references, predictions, lang, weights, tokenizer, keywords_dir)
38 assert keywords_dir.exists(), f"keywords_dir {keywords_dir} does not exist"
40 # get the tree-sitter language for a given language
---> 41 tree_sitter_language = get_tree_sitter_language(lang)
43 # preprocess inputs
44 references = [[x.strip() for x in ref] if isinstance(ref, list) else [ref.strip()] for ref in references]
File d:\cc\LLM_DynaEval_Coding\mbpp+\codebleu\utils.py:163, in get_tree_sitter_language(lang)
160 elif lang == "python":
161 import tree_sitter_python
--> 163 return Language(tree_sitter_python.language())
164 elif lang == "go":
165 import tree_sitter_go
TypeError: an integer is required
The text was updated successfully, but these errors were encountered: