安装joern-tools的最后一步:sudo python2 setup.py install 报如下错,但在复现的实验要用python2.7,该如何解决呢:
running install
running bdist_egg
running egg_info
writing requirements to joerntools.egg-info/requires.txt
writing joerntools.egg-info/PKG-INFO
writing top-level names to joerntools.egg-info/top_level.txt
writing dependency_links to joerntools.egg-info/dependency_links.txt
reading manifest file 'joerntools.egg-info/SOURCES.txt'
writing manifest file 'joerntools.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/joerntools
creating build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/ChunkStartTool.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/JoernTool.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/AccTool.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/CmdLineTool.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/TraversalTool.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/DemuxTool.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/GraphvizTool.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/init.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/JoernHide.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/LookupTool.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/StartTool.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/PipeTool.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/shelltool/JoernTag.py -> build/bdist.linux-x86_64/egg/joerntools/shelltool
copying build/lib.linux-x86_64-2.7/joerntools/DBInterface.py -> build/bdist.linux-x86_64/egg/joerntools
copying build/lib.linux-x86_64-2.7/joerntools/APIEmbedder.py -> build/bdist.linux-x86_64/egg/joerntools
copying build/lib.linux-x86_64-2.7/joerntools/KNN.py -> build/bdist.linux-x86_64/egg/joerntools
creating build/bdist.linux-x86_64/egg/joerntools/view
copying build/lib.linux-x86_64-2.7/joerntools/view/ParseLocationString.py -> build/bdist.linux-x86_64/egg/joerntools/view
copying build/lib.linux-x86_64-2.7/joerntools/view/init.py -> build/bdist.linux-x86_64/egg/joerntools/view
copying build/lib.linux-x86_64-2.7/joerntools/SimplifiedAPIEmbedder.py -> build/bdist.linux-x86_64/egg/joerntools
creating build/bdist.linux-x86_64/egg/joerntools/misc
copying build/lib.linux-x86_64-2.7/joerntools/misc/launch.py -> build/bdist.linux-x86_64/egg/joerntools/misc
copying build/lib.linux-x86_64-2.7/joerntools/misc/init.py -> build/bdist.linux-x86_64/egg/joerntools/misc
copying build/lib.linux-x86_64-2.7/joerntools/init.py -> build/bdist.linux-x86_64/egg/joerntools
creating build/bdist.linux-x86_64/egg/joerntools/mlutils
creating build/bdist.linux-x86_64/egg/joerntools/mlutils/sallyEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/sallyEmbedder/SallyBasedEmbedder.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/sallyEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/sallyEmbedder/SallyDataDirectoryCreator.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/sallyEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/sallyEmbedder/SallyDataStore.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/sallyEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/sallyEmbedder/init.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/sallyEmbedder
creating build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/pythonEmbedder/TermDocumentMatrix.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/pythonEmbedder/FeatureArray.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/pythonEmbedder/PythonEmbedder.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/pythonEmbedder/NameToDictMap.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/pythonEmbedder/init.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/pythonEmbedder/FeatureArrayToMatrix.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/pythonEmbedder/OccurrenceCounter.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/MLDataDirCreator.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/init.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/EmbeddingLoader.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils
creating build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/regexGen/StringSetToRegex.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/regexGen/GapStringExtractor.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/regexGen/TokenExtractor.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/regexGen/init.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/regexGen/TokenAndGapSeq.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/Embedding.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils
copying build/lib.linux-x86_64-2.7/joerntools/mlutils/MLDataDir.py -> build/bdist.linux-x86_64/egg/joerntools/mlutils
creating build/bdist.linux-x86_64/egg/joerntools/steps
copying build/lib.linux-x86_64-2.7/joerntools/steps/steps.groovy -> build/bdist.linux-x86_64/egg/joerntools/steps
copying build/lib.linux-x86_64-2.7/joerntools/steps/slice.groovy -> build/bdist.linux-x86_64/egg/joerntools/steps
creating build/bdist.linux-x86_64/egg/joerntools/csvAST
copying build/lib.linux-x86_64-2.7/joerntools/csvAST/PythonASTTreeNode.py -> build/bdist.linux-x86_64/egg/joerntools/csvAST
copying build/lib.linux-x86_64-2.7/joerntools/csvAST/CSVProcessor.py -> build/bdist.linux-x86_64/egg/joerntools/csvAST
copying build/lib.linux-x86_64-2.7/joerntools/csvAST/CSVRowAccessors.py -> build/bdist.linux-x86_64/egg/joerntools/csvAST
copying build/lib.linux-x86_64-2.7/joerntools/csvAST/CSVToPythonAST.py -> build/bdist.linux-x86_64/egg/joerntools/csvAST
copying build/lib.linux-x86_64-2.7/joerntools/csvAST/init.py -> build/bdist.linux-x86_64/egg/joerntools/csvAST
copying build/lib.linux-x86_64-2.7/joerntools/csvAST/PythonASTToPrunedAST.py -> build/bdist.linux-x86_64/egg/joerntools/csvAST
copying build/lib.linux-x86_64-2.7/joerntools/csvAST/ASTPrinter.py -> build/bdist.linux-x86_64/egg/joerntools/csvAST
copying build/lib.linux-x86_64-2.7/joerntools/csvAST/PythonASTProcessor.py -> build/bdist.linux-x86_64/egg/joerntools/csvAST
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/ChunkStartTool.py to ChunkStartTool.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/JoernTool.py to JoernTool.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/AccTool.py to AccTool.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/CmdLineTool.py to CmdLineTool.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/TraversalTool.py to TraversalTool.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/DemuxTool.py to DemuxTool.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/GraphvizTool.py to GraphvizTool.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/init.py to init.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/JoernHide.py to JoernHide.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/LookupTool.py to LookupTool.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/StartTool.py to StartTool.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/PipeTool.py to PipeTool.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/shelltool/JoernTag.py to JoernTag.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/DBInterface.py to DBInterface.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/APIEmbedder.py to APIEmbedder.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/KNN.py to KNN.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/view/ParseLocationString.py to ParseLocationString.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/view/init.py to init.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/SimplifiedAPIEmbedder.py to SimplifiedAPIEmbedder.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/misc/launch.py to launch.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/misc/init.py to init.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/init.py to init.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/sallyEmbedder/SallyBasedEmbedder.py to SallyBasedEmbedder.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/sallyEmbedder/SallyDataDirectoryCreator.py to SallyDataDirectoryCreator.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/sallyEmbedder/SallyDataStore.py to SallyDataStore.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/sallyEmbedder/init.py to init.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder/TermDocumentMatrix.py to TermDocumentMatrix.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder/FeatureArray.py to FeatureArray.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder/PythonEmbedder.py to PythonEmbedder.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder/NameToDictMap.py to NameToDictMap.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder/init.py to init.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder/FeatureArrayToMatrix.py to FeatureArrayToMatrix.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/pythonEmbedder/OccurrenceCounter.py to OccurrenceCounter.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/MLDataDirCreator.py to MLDataDirCreator.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/init.py to init.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/EmbeddingLoader.py to EmbeddingLoader.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen/StringSetToRegex.py to StringSetToRegex.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen/GapStringExtractor.py to GapStringExtractor.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen/TokenExtractor.py to TokenExtractor.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen/init.py to init.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/regexGen/TokenAndGapSeq.py to TokenAndGapSeq.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/Embedding.py to Embedding.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/mlutils/MLDataDir.py to MLDataDir.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/csvAST/PythonASTTreeNode.py to PythonASTTreeNode.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/csvAST/CSVProcessor.py to CSVProcessor.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/csvAST/CSVRowAccessors.py to CSVRowAccessors.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/csvAST/CSVToPythonAST.py to CSVToPythonAST.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/csvAST/init.py to init.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/csvAST/PythonASTToPrunedAST.py to PythonASTToPrunedAST.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/csvAST/ASTPrinter.py to ASTPrinter.pyc
byte-compiling build/bdist.linux-x86_64/egg/joerntools/csvAST/PythonASTProcessor.py to PythonASTProcessor.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
installing scripts to build/bdist.linux-x86_64/egg/EGG-INFO/scripts
running install_scripts
running build_scripts
creating build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-cluster -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-slice -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-ast2features -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-list-funcs -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-knn -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-stmt-embedder -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-location -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-console -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-demux -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-hide -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-plot-slice -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-stream-apiembedder -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-list-files -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-plot-ast -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-unhide -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-tag -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-edge -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-lookup -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-regex -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-editor -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-code -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-astlabel -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-transform -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-plot-proggraph -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/joern-apiembedder -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-cluster to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-slice to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-ast2features to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-list-funcs to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-knn to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-stmt-embedder to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-location to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-console to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-demux to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-hide to 775
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-plot-slice to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-stream-apiembedder to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-list-files to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-plot-ast to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-unhide to 775
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-tag to 775
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-edge to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-lookup to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-regex to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-editor to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-code to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-astlabel to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-transform to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-plot-proggraph to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/joern-apiembedder to 755
copying joerntools.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying joerntools.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying joerntools.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying joerntools.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying joerntools.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying joerntools.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating 'dist/joerntools-0.1-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing joerntools-0.1-py2.7.egg
removing '/usr/local/lib/python2.7/dist-packages/joerntools-0.1-py2.7.egg' (and everything under it)
creating /usr/local/lib/python2.7/dist-packages/joerntools-0.1-py2.7.egg
Extracting joerntools-0.1-py2.7.egg to /usr/local/lib/python2.7/dist-packages
joerntools 0.1 is already the active version in easy-install.pth
Installing joern-cluster script to /usr/local/bin
Installing joern-slice script to /usr/local/bin
Installing joern-ast2features script to /usr/local/bin
Installing joern-list-funcs script to /usr/local/bin
Installing joern-knn script to /usr/local/bin
Installing joern-stmt-embedder script to /usr/local/bin
Installing joern-location script to /usr/local/bin
Installing joern-console script to /usr/local/bin
Installing joern-demux script to /usr/local/bin
Installing joern-hide script to /usr/local/bin
Installing joern-plot-slice script to /usr/local/bin
Installing joern-stream-apiembedder script to /usr/local/bin
Installing joern-list-files script to /usr/local/bin
Installing joern-plot-ast script to /usr/local/bin
Installing joern-unhide script to /usr/local/bin
Installing joern-tag script to /usr/local/bin
Installing joern-edge script to /usr/local/bin
Installing joern-lookup script to /usr/local/bin
Installing joern-regex script to /usr/local/bin
Installing joern-editor script to /usr/local/bin
Installing joern-code script to /usr/local/bin
Installing joern-astlabel script to /usr/local/bin
Installing joern-transform script to /usr/local/bin
Installing joern-plot-proggraph script to /usr/local/bin
Installing joern-apiembedder script to /usr/local/bin
Installed /usr/local/lib/python2.7/dist-packages/joerntools-0.1-py2.7.egg
Processing dependencies for joerntools==0.1
Searching for chardet
Reading https://pypi.python.org/simple/chardet/
Downloading https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079/chardet-5.2.0.tar.gz#sha256=1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7
Best match: chardet 5.2.0
Processing chardet-5.2.0.tar.gz
error: Couldn't find a setup script in /tmp/easy_install-j7UDqH/chardet-5.2.0.tar.gz
【以下回答由 GPT 生成】
这是由于缺少必要的依赖项导致的安装错误。以下是解决该问题的步骤:
sudo apt-get update
sudo apt-get install -y build-essential libffi-dev python-dev graphviz libgraphviz-dev pkg-config
curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py
sudo python2 get-pip.py
sudo apt-get install python-setuptools
sudo pip2 install networkx==1.11
并将下载好的源码解压缩。
cd joern
sudo python2 setup.py install
等待安装完成后,joern就成功安装在你的系统上了。
如果以上步骤正确无误,你应该能够使用Python 2.7成功安装joern。如果还遇到其他问题,请提供详细的错误信息以供进一步排查。