我在VS Code中的Markdown文档中有一些围栏的Python代码。Python代码输入被解析和呈现,但Python代码不被解释,其输出也不被呈现。
MWE:在Markdown.md文件中,我尝试沿着以下几种变体:
```python {cmd = '/Users/john/anaconda3/bin/python'}
x = 3
y = 5
print(x + y)
```
代码块的输入在Markdown中呈现,但输出不会。I get an error而不是答案8。这似乎对某些人有效,但对其他人无效,请参阅Stackoverflow中的this question。
这可能是由于以下一个或两个原因:
1.我有Python的Anaconda发行版。在我的Mac上,anaconda和python都不在PATH中,这是Anaconda的默认设置:参见Anaconda FAQ。仅当conda环境被激活时,PATH才被动态地和本地地预先挂起。这是为了避免包依赖性问题。
- VS代码可能具有禁止代码执行的安全设置,以避免恶意代码的问题。仅供参考,我在VS Code中的“Markdown Preview Enhanced”扩展中将“enable script execution”切换为ON。
我也试过:
1.使用conda init tcsh
将python添加到PATH
1.在VS Code的“Markdown Preview Enhanced”扩展中切换“enable script execution”设置
1.在VSCode中的JupyterNotebook.ipynb文件中运行此操作--Markdown块之外的所有Python代码都执行,但不执行其中的代码
1.在围栏代码块中将/Users/john/anaconda3/bin/python
替换为/Users/john/anaconda3/envs/hello_py/bin/python
1.使用双引号而不是单引号
替代方案是使用R,knitr,neticulate,但我不知道如何使R访问Anaconda基地或虚拟环境。
你能帮帮忙吗先谢谢你了!任何建议将不胜感激。
1条答案
按热度按时间wnvonmuf1#
解决方法:而不是在VS Code中执行
.md
Markdown文档中的fenced Python代码,只需将Markdown包含在VS Code中的.ipynb
Python notebook中。MWE。在Markdown单元格中输入,然后是Python单元格:
Output