本人新手最近在学 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 2021-03-16 21:18:44 +08:00
我怎么记得是__main__?
|
2
tars2018 OP @learningman 不好意思,写错了是 __main__ ,改了之后问题依然存在
|
3
ch2 2021-03-16 23:56:42 +08:00
|
4
pkookp8 2021-03-17 00:42:59 +08:00 via Android
右下角手动把文件改成 utf8 编码再试试呢
|
5
jeeyong 2021-03-17 07:35:49 +08:00 1
在 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 2021-03-17 07:36:40 +08:00
回复完看到的, 3 楼正解
|
7
xiadong1994 2021-03-17 08:06:00 +08:00
2021 年了 windows 怎么还有编码问题
|
8
chenqh 2021-03-17 08:15:32 +08:00
coder_runner 可以 runn in terminal 的呀
|
9
liuhuansir 2021-03-17 08:27:48 +08:00 via Android 1
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 能不能解决这个问题,谢谢! |
11
jeeyong 2021-03-17 10:24:52 +08:00
|
12
xumng123 2021-03-17 13:57:46 +08:00 via iPhone
原作者经常出没这里,应该可解
|