
本人新手最近在学 python,今天在 vscode 里面安装了 code runner 插件来运行 python 代码,但是遇上了一个问题,请各位大佬帮忙看看:
新建一个 python 文件 Constants.py
#!/usr/bin/env python3 #coding=utf-8
if name=="main": print("Hello World")
使用 python Constants.py 可以正常运行:
E:\vscodeWorkSpace\python-web-app>C:/Users/Administrator/AppData/Local/Programs/Python/Python37/python.exe e:/vscodeWorkSpace/python-web-app/www/Constants.py Hello World
但是使用 code runner 运行就会报错:
[Running] /usr/bin/env python3 "e:\vscodeWorkSpace\python-web-app\www\Constants.py"
code runner 配置如下:
"code-runner.executorMap": { "python": "set PYTHOnIOENCODING=utf8 && python $fullFileName" }
请问是插件的问题,还是我配置的问题?
1 learningman Mar 16, 2021 我怎么记得是__main__? |
2 tars2018 OP @learningman 不好意思,写错了是 __main__ ,改了之后问题依然存在 |
3 ch2 Mar 16, 2021 |
4 pkookp8 Mar 17, 2021 via Android 右下角手动把文件改成 utf8 编码再试试呢 |
5 jeeyong Mar 17, 2021 在 vscode 的 settings 里添加这个 "code-runner.executorMap": { "python": "set PYTHOnIOENCODING=UTF-8 && .venv\\Scripts\\python -u" }, 重要的是 set PYTHOnIOENCODING=UTF-8 这句将环境设置为 utf-8 编码.. &&后面那个你默认为 python -u 就好, 我是在用 virtualenv 所以设置的是虚拟环境的 python 路径..或者你设置成你需要的 python 路径. -u 是强制实时输出打印结果. 你试试.. 无论有效与否, 最好请告知我. |
6 jeeyong Mar 17, 2021 回复完看到的, 3 楼正解 |
7 trn4 Mar 17, 2021 2021 年了 windows 怎么还有编码问题 |
8 simple2025 Mar 17, 2021 coder_runner 可以 runn in terminal 的呀 |
9 liuhuansir Mar 17, 2021 via Android pycharm 社区版开箱即用,新手更不该花时间在工具上折腾 |
10 tars2018 OP @jeeyong 按照你的方法试了一下: setting.json "code-runner.executorMap": { "python": "set PYTHOnIOENCODING=UTF-8 && C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe -u" } Constants.py #!/usr/bin/env python3 #coding=utf-8 if __name__=="__main__": print("Hello World...") 运行结果: [Running] /usr/bin/env python3 "e:\vscodeWorkSpace\python-web-app\www\Constants.py" [Done] exited with code=1 in 0.264 seconds 对照的一个 python 文件 Test.py #coding=utf-8 if __name__=="__main__": print("Hello Word...") 运行结果: [Running] set PYTHOnIOENCODING=UTF-8 && C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe -u "e:\vscodeWorkSpace\python-web-app\www\Test.py" Hello Word... [Done] exited with code=0 in 0.612 seconds 可以看到 /usr/bin/env python3 "e:\vscodeWorkSpace\python-web-app\www\Constants.py" 应该就是这个造成的,code runner 先读取的这一行,没有直接调用 python.exe 运行 Constants.py 一会我试试 virtualenv 能不能解决这个问题,谢谢! |
12 xumng123 Mar 17, 2021 via iPhone 原作者经常出没这里,应该可解 |