安装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
py2都已经停止维护咯,你可以试一下清除缓存然后重新安装一下,再不行就手动下载,然后再安装
wget https://files.pythonhosted.org/packages/source/c/chardet/chardet-5.2.0.tar.gz -P /tmp/
# 可能是因为您的系统默认使用的 Python 版本不是 2.7 版本导致的。您可以尝试使用以下命令来指定使用 Python2.7 运行该命令:
sudo python2.7 setup.py install
【以下回答由 GPT 生成】
答案
要解决在Ubuntu 20.04上安装joern-tools报错的问题,可以尝试以下步骤:
shell python2.7 --version
如果没有安装,你可以通过以下命令来安装Python 2.7:
shell sudo apt update sudo apt install python2.7
安装完成后,再次运行上述命令来确保Python 2.7已经正确安装。
shell pip2 --version
如果没有安装pip,你可以使用以下命令来安装:
shell sudo apt install python-pip
安装完成后,再次运行上述命令来确保pip已经正确安装。
接下来,确保你已经下载并解压了joern-tools的安装包。进入到安装包的目录,并找到其中的setup.py
文件。
执行以下命令来安装joern-tools:
shell sudo python2 setup.py install
如果报错提示缺少依赖包,你可以使用以下命令来安装缺少的依赖包:
shell sudo apt install <dependency_package_name>
请根据实际报错信息中提到的依赖包名称进行安装。
如果执行命令后仍然遇到问题,请提供详细的报错信息以便进一步诊断。
这些步骤应该可以帮助你在Ubuntu 20.04上安装joern-tools,并使用Python 2.7来复现实验。如果仍然遇到问题,请尽量提供更详细的错误信息,以便更好地帮助你解决。
引用 皆我百晓生 小程序回复内容作答:
报错信息提示找不到 /tmp/easy_install-j7UDqH/chardet-5.2.0.tar.gz
的安装脚本。这可能是由于在安装 joern-tools
的过程中,其依赖的 chardet
模块无法正确安装所导致的。
要解决这个问题,你可以尝试以下几个步骤:
确保已安装 Python 2.7:确保你的 Ubuntu 20.04 系统中已经安装了 Python 2.7。你可以通过在终端运行 python2.7 --version
命令来验证。
安装 chardet
模块:在终端中运行以下命令来单独安装 chardet
模块:
sudo apt-get install python-chardet
重新运行安装命令:在 joern-tools
的根目录中,使用 python2
来运行安装命令:
sudo python2 setup.py install
这样应该可以解决找不到 chardet
安装脚本的问题,并成功安装 joern-tools
。
如果问题仍然存在,你可以尝试其他解决方案:
更新 pip 版本:在终端中运行以下命令以更新 pip 版本:
sudo pip install -U pip
安装 setuptools:确保已经安装了 setuptools
,你可以在终端中运行以下命令进行安装:
sudo apt-get install python-setuptools
使用 virtualenv:创建一个新的 Python 2.7 虚拟环境,并在虚拟环境中尝试重新安装 joern-tools
。
希望这些解决方案能够帮助你成功安装 joern-tools
。如果问题仍然存在,请提供更多的错误信息,以便我们能够更准确地帮助你。
结合GPT给出回答如下请题主参考
这个错误可能是因为您的系统中没有安装Python 2.7。您可以通过以下步骤来安装Python 2.7:
打开终端,输入以下命令安装依赖:
sudo apt update
sudo apt install build-essential libssl-dev libffi-dev python-dev
下载Python 2.7:
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
解压Python 2.7:
tar -xf Python-2.7.18.tgz
进入解压后的目录,并进行配置和安装:
cd Python-2.7.18
./configure --enable-optimizations
make
sudo make install
完成以上步骤后,您应该可以在系统中使用Python 2.7了。然后再重新运行安装joern-tools的最后一步:
sudo python2 setup.py install
Python 2.7 在2020年已经停止支持,建议您考虑升级到支持的Python版本,例如Python 3.x。如果您必须在Python 2.7中工作,可以尝试以下方法:
a. 使用虚拟环境:在您的项目中,使用virtualenv创建一个Python 2.7的虚拟环境,然后在该环境中进行安装。这可以防止与系统中的其他Python版本发生冲突。
b. 修改代码:如果可能,尝试修改joern-tools的代码以使其兼容Python 2.7和Python 3.x。
是网络问题吗?脚本没下载全。
题主,这个问题我来替你解决(参考结合AI智能、文心一言),若有帮助,还望采纳,点击回答右侧采纳即可。
这个错误可能是因为 chardet-5.2.0.tar.gz 文件没有正确下载或损坏导致的。请尝试以下步骤来解决问题:
确保你的 Ubuntu 系统已经安装了 Python 和 pip 工具。
在终端中运行以下命令来升级 pip 工具:
sudo pip install --upgrade pip
然后安装 joern-tools:
sudo pip install joern-tools
如果仍然出现错误,请尝试删除 chardet-5.2.0.tar.gz 文件并重新安装:
sudo rm /tmp/easy_install-j7UDqH/chardet-5.2.0.tar.gz
sudo pip install joern-tools
如果以上步骤仍然无法解决问题,请检查你的网络连接是否正常,或者尝试更换下载源。
希望能帮助到你。
sudo apt-get install graphviz libgraphviz-dev sudo pip2 install pygraphviz
这个问题可能是由于Python 2.7已经不再被官方支持,一些库可能已经不再兼容Python 2.7。
为了解决这个问题,建议你升级到Python 3,因为Python 3是当前官方支持的版本,大多数库都已经兼容Python 3。
参考gpt
根据您提供的错误信息,看起来是在安装joern-tools时出现了问题。可能是因为您在Ubuntu 20.04上使用Python 2.7安装joern-tools,而Python 2.7在Ubuntu 20.04中已经不再默认安装。
以下是一些解决方案:
确保Python 2.7已安装:首先,请确保您的系统上已经安装了Python 2.7。您可以在终端中运行以下命令检查Python 2.7的安装情况:
python2.7 --version
如果没有安装Python 2.7,请使用以下命令安装:
sudo apt update
sudo apt install python2.7
使用Python虚拟环境:建议您在安装joern-tools之前创建一个Python 2.7的虚拟环境。这样可以确保joern-tools以及其依赖项在正确的Python版本下安装。您可以使用以下命令创建和激活虚拟环境:
sudo apt install virtualenv
virtualenv -p /usr/bin/python2.7 joern-env
source joern-env/bin/activate
安装joern-tools:在激活虚拟环境后,您可以再次尝试安装joern-tools。运行以下命令:
sudo python2 setup.py install
这应该会在Python 2.7的环境中正确安装joern-tools。
请注意,由于Python 2.7已经过时,某些依赖项可能无法在Ubuntu 20.04上正常工作。如果遇到其他错误,请提供更多的错误信息,以便我可以提供更具体的帮助。另外,建议您考虑迁移到Python 3.x,并查看是否有适用于Python 3.x的替代工具可用。
安装python2.7呀
安一下python2.7,又不影响你另一个python3
下wal库安装到python2.7