1)我在macosx上安装了Python3.7.3,并通过终端确认了这一点(使用“Python3--version”)。在
2)然后我选择了vs代码中的3.7.3解释器。我可以看到这个解释器就是在底部的状态栏中使用的那个。在
3)调试控制台显示我运行的是Python3.7.3,当我在VS代码中按F5键来启动调试器中的代码时,我运行的是Python3.7.3。我也可以直接从终端运行,没有问题(python3应用程序副本). 在
import sys
print(sys.version)
^{pr2}$
4)当我尝试打印时(系统版本)“输出”窗格仍然显示我运行的是Python2.7.10。在
当我尝试使用f字符串时,我在输出窗格中看到一个语法错误。。。终端和调试控制台都能够按预期打印字符串。在
如何使输出窗格解释python3.7而不是2.7?我在想我需要在设置.json但我不知道从哪里开始。在
这是我所有的启动.json文件。我觉得这有关系吗?在
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
},
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"port": 5678,
"host": "localhost",
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "."
}
]
},
{
"name": "Python: Module",
"type": "python",
"request": "launch",
"module": "enter-your-module-name-here",
"console": "integratedTerminal"
},
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/manage.py",
"console": "integratedTerminal",
"args": [
"runserver",
"--noreload",
"--nothreading"
],
"django": true
},
{
"name": "Python: Flask",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "app.py"
},
"args": [
"run",
"--no-debugger",
"--no-reload"
],
"jinja": true
},
{
"name": "Python: Current File (External Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "externalTerminal"
}
]
}
这是我的全球设置.json公司名称:
{
"python.pythonPath": "/Library/Frameworks/Python.framework/Versions/3.7/bin/python3",
"liveServer.settings.donotShowInfoMsg": true,
"files.autoSave": "afterDelay",
"code-runner.clearPreviousOutput": true,
}
这是我的工作区.json公司名称:
{
"folders": [
{
"path": "/Users/sethgory/Desktop/school/CPSC50100/Python/Week01"
}
],
"settings": {}
}
以下是我尝试使用f字符串时的输出:
[Running] python -u "/Users/sethgory/Desktop/school/CPSC50100/Python/Week01/Hello.py"
File "/Users/sethgory/Desktop/school/CPSC50100/Python/Week01/Hello.py", line 5
print(f"Today is {variable}")
^
SyntaxError: invalid syntax
[Done] exited with code=1 in 0.909 seconds
这是我运行打印时的输出(系统版本)公司名称:
[Running] python -u "/Users/sethgory/Desktop/school/CPSC50100/Python/Week01/Hello.py"
2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)]
[Done] exited with code=0 in 2.421 seconds
当我按F5进行调试时,这是调试控制台中显示的内容(运行打印(系统版本)再说一遍):
3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21)
:undefined
[Clang 6.0 (clang-600.0.57)]
这是我在终端上调试时得到的(运行print(系统版本)再说一遍):
Week01 sethgory$ cd /Users/sethgory/Desktop/school/CPSC50100/Python/Week01 ; env PYTHONIOENCODING=UTF-8 PYTHONUNBUFFERED=1 /Library/Frameworks/Python.framework/Versions/3.7/bin/python3 /Users/sethgory/.vscode/extensions/ms-python.python-2019.3.6139/pythonFiles/ptvsd_launcher.py --default --client --host localhost --port 55179 /Users/sethgory/Desktop/school/CPSC50100/Python/Week01/Hello.py
3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21)
[Clang 6.0 (clang-600.0.57)]
最后,当我用“python3”从终端运行程序时你好.py“,这就是我得到的(运行打印(系统版本)再说一遍):
3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21)
[Clang 6.0 (clang-600.0.57)]
我尝试使用以下三种方法(一次一条!)在“全局”和“工作区”设置中,似乎根本没有更改行为:
我认为这是绝对的:
{
"python.pythonPath": "/Library/Frameworks/Python.framework/Versions/3.7/bin/python3"
}
这对于env文件夹是绝对的:
{
"python.pythonPath": "/Users/sethgory/Desktop/school/CPSC50100/Python/Week01/env/bin/python3"
}
这是相对于env文件夹的:
{
"python.pythonPath": "env/bin/python3"
}
我试图将alias python='python3'
添加到我的~/.bash_配置文件中,并在终端中获得了一些新的行为。现在我可以使用“python”来引用python3(而之前我需要实际键入“3”)。但主要问题仍然存在(vs代码中的输出窗口仍然使用python2.7.2)
我应该指出,我确实正确安装了Python扩展。正确的解释器3.7.3显示在状态栏中。在
显然,当Python脚本运行时(默认情况下)调用Python(2)。通过在~/.bash_配置文件中添加以下行,可以对命令进行别名:
python命令现在将引用python3。在
如果要执行原始Python(指python2),可以转义别名(因此
\python
将在不接触别名的情况下启动python2)。在您可能需要重新启动VSCode。可能在OSX下,但也需要重新启动系统(不确定,我使用的是Linux)。在
相关问题 更多 >
编程相关推荐