问题描述
[编辑 - 感谢 Ludovico Loreti 的评论]
如果我从 Visual Studio Code 运行以下代码(.py 文件),即按下 VSCode 右上角的绿色三角形按钮“在终端中运行 Python 文件”
from networkit import *
import networkit as nk
import matplotlib.pyplot as plt
g = generators.HyperbolicGenerator(1e3).generate()
bc = nk.centrality.Betweenness(g)
bc.run()
bc.ranking()[:10] # the 10 most central nodes
预期结果(即中介计算)未显示在 VSCode 嵌入式终端中。
相反,如果我直接从终端运行相同的代码,使用 ipython3,结果会很好。
Out[4]:
[(392,625118.6896734448),(875,204886.97319625755),(170,121481.35921722073),(621,72627.46666666666),(566,71881.75991032101),(37,62046.49111887374),(701,53157.760291814484),(988,45316.922735729204),(934,42894.204329181564),(657,32147.666666666664)]
为什么?我应该在 Visual Studio Code 中更改哪些内容才能在其嵌入式终端中查看结果?
print(g.numberOfNodes(),g.numberOfEdges())
VSCode 在其嵌入式终端中正确显示结果。因此,看起来(到目前为止)只有与中介相关的结果没有显示/显示。
[P.S.2]:仅供参考,如果有用,我已经通过 snap (https://snapcraft.io/install/code/centos) 安装了 Visual Studio Code:
sudo yum install epel-release -y
sudo yum install snapd -y
sudo systemctl enable --Now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install code --classic
然后我通过键入以下内容从终端运行 VSCode:
snap run code
解决方法
在networkit论坛中提供了解决方案/说明 https://github.com/networkit/networkit/issues/788
非常感谢 avdgrinten!