Closed MilesStarr closed 1 year ago
@MilesStarr
Thanks for the report! I apologize it took me so long to get back to you.
I've never contributed to open source or done any pull requests. It is a simple change and if you want to do it great. But because it is a simple change I wouldn't mind doing it for the sake of learning how to make a PR and getting involved in the open source community.
Please do! I'd be happy to review and validate a PR for this.
Seems as if you have already found the related files, but here they are regardless: https://github.com/BradenM/micropy-cli/blob/7c716557ea6bba929ef61ed349e811ace249625c/micropy/project/template/.pylintrc#L3
My first code showed
import machine
in error resulting in:Unable to import 'machine' pylint(import-error) [Ln 3, Col 1]
pylint should be able to find the stub information.
in
.pylintrc
template:init-hook='import sys;sys.path[1:1]=["src/lib",{% for path in paths %}"{{ path|replace("\\", "/") }}", {% endfor %} ]'
resulted in:
init-hook='import sys;sys.path.insert(1, ".micropy\micropy-cli\frozen");sys.path.insert(1, ".micropy\BradenM-micropy-stubs-4f5a52a\frozen");sys.path.insert(1, ".micropy\micropy-cli\stubs");sys.path.insert(1, ".micropy\pico_trial");'
which is just escaping the first letter of the path instead of having an actual backslash
Possible Solution
I would recommend changing to raw strings in the template files
.\micropy\project\template\.pylintrc
and.\tests\data\project_test\.pylintrc
:init-hook=r'import sys;sys.path.insert(1, ".micropy\micropy-cli\frozen");sys.path.insert(1, ".micropy\BradenM-micropy-stubs-4f5a52a\frozen");sys.path.insert(1, ".micropy\micropy-cli\stubs");sys.path.insert(1, ".micropy\pico_trial");'
Context (Environment)
I've never contributed to open source or done any pull requests. It is a simple change and if you want to do it great. But because it is a simple change I wouldn't mind doing it for the sake of learning how to make a PR and getting involved in the open source community.