[英]Unable to install Networkit using sudo pip3 install networkit
我一直在嘗試使用sudo pip3 install networkit來安裝Networkit,如其網站所述,但出現此錯誤!
Collecting networkit
Downloading networkit-4.1.1.tar.gz (936kB)
100% |████████████████████████████████| 942kB 1.6MB/s
Installing collected packages: networkit
Running setup.py install for networkit ... error
Complete output from command /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-p2tcuarv/networkit/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ac3b1wc7-record/install-record.txt --single-version-externally-managed --compile:
/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/Cython/Distutils/old_build_ext.py:30: UserWarning: Cython.Distutils.old_build_ext does not properly handle dependencies and is deprecated.
"Cython.Distutils.old_build_ext does not properly handle dependencies "
running install
running build
running build_py
creating build
creating build/lib.macosx-10.6-intel-3.5
creating build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/__init__.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/algebraic.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/centrality.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/clique.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/coarsening.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/coloring.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/community.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/components.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/correlation.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/distance.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/dynamic.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/engineering.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/flow.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/generators.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/GEXFIO.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/globals.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/graph.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/graphio.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/GraphMLIO.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/linkprediction.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/matching.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/nxadapter.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/partitioning.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/plot.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/sampling.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/scd.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/simulation.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/sparsification.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/stats.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/stopwatch.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/structures.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/viztasks.py -> build/lib.macosx-10.6-intel-3.5/networkit
copying networkit/workflows.py -> build/lib.macosx-10.6-intel-3.5/networkit
creating build/lib.macosx-10.6-intel-3.5/networkit/gephi
copying networkit/gephi/__init__.py -> build/lib.macosx-10.6-intel-3.5/networkit/gephi
copying networkit/gephi/csv.py -> build/lib.macosx-10.6-intel-3.5/networkit/gephi
copying networkit/gephi/pyclient.py -> build/lib.macosx-10.6-intel-3.5/networkit/gephi
copying networkit/gephi/streaming.py -> build/lib.macosx-10.6-intel-3.5/networkit/gephi
creating build/lib.macosx-10.6-intel-3.5/networkit/profiling
copying networkit/profiling/__init__.py -> build/lib.macosx-10.6-intel-3.5/networkit/profiling
copying networkit/profiling/job.py -> build/lib.macosx-10.6-intel-3.5/networkit/profiling
copying networkit/profiling/multiprocessing_helper.py -> build/lib.macosx-10.6-intel-3.5/networkit/profiling
copying networkit/profiling/plot.py -> build/lib.macosx-10.6-intel-3.5/networkit/profiling
copying networkit/profiling/profiling.py -> build/lib.macosx-10.6-intel-3.5/networkit/profiling
copying networkit/profiling/stat.py -> build/lib.macosx-10.6-intel-3.5/networkit/profiling
creating build/lib.macosx-10.6-intel-3.5/networkit/test
copying networkit/test/__init__.py -> build/lib.macosx-10.6-intel-3.5/networkit/test
copying networkit/test/test_algorithms.py -> build/lib.macosx-10.6-intel-3.5/networkit/test
copying networkit/test/test_community.py -> build/lib.macosx-10.6-intel-3.5/networkit/test
copying networkit/test/test_graphio.py -> build/lib.macosx-10.6-intel-3.5/networkit/test
copying networkit/test/test_sparsification.py -> build/lib.macosx-10.6-intel-3.5/networkit/test
creating build/lib.macosx-10.6-intel-3.5/networkit/test/extension
copying networkit/test/extension/__init__.py -> build/lib.macosx-10.6-intel-3.5/networkit/test/extension
copying networkit/test/extension/test.py -> build/lib.macosx-10.6-intel-3.5/networkit/test/extension
creating build/lib.macosx-10.6-intel-3.5/networkit/test/gephi
copying networkit/test/gephi/__init__.py -> build/lib.macosx-10.6-intel-3.5/networkit/test/gephi
creating build/lib.macosx-10.6-intel-3.5/networkit/profiling/html
copying networkit/profiling/html/measure.html -> build/lib.macosx-10.6-intel-3.5/networkit/profiling/html
copying networkit/profiling/html/overlay.html -> build/lib.macosx-10.6-intel-3.5/networkit/profiling/html
copying networkit/profiling/html/profile.html -> build/lib.macosx-10.6-intel-3.5/networkit/profiling/html
copying networkit/profiling/html/profiling.css -> build/lib.macosx-10.6-intel-3.5/networkit/profiling/html
copying networkit/profiling/html/profiling.js -> build/lib.macosx-10.6-intel-3.5/networkit/profiling/html
creating build/lib.macosx-10.6-intel-3.5/networkit/profiling/latex
copying networkit/profiling/latex/measure.tex -> build/lib.macosx-10.6-intel-3.5/networkit/profiling/latex
copying networkit/profiling/latex/profile.tex -> build/lib.macosx-10.6-intel-3.5/networkit/profiling/latex
creating build/lib.macosx-10.6-intel-3.5/networkit/profiling/description
copying networkit/profiling/description/descriptions.txt -> build/lib.macosx-10.6-intel-3.5/networkit/profiling/description
running build_ext
initializing NetworKit compilation with: scons --optimize=Opt --target=Core -j8 --compiler=g++-4.8 --std=c++11
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
g++-4.8 -o .buildOpt/algebraic/AdjacencyMatrix.o -c -std=c++11 -Wall -c -fmessage-length=0 -fPIC -fopenmp -O3 -DNDEBUG -DLOG_LEVEL=LOG_LEVEL_INFO networkit/cpp/algebraic/AdjacencyMatrix.cpp
g++-4.8 -o .buildOpt/algebraic/CSRMatrix.o -c -std=c++11 -Wall -c -fmessage-length=0 -fPIC -fopenmp -O3 -DNDEBUG -DLOG_LEVEL=LOG_LEVEL_INFO networkit/cpp/algebraic/CSRMatrix.cpp
g++-4.8 -o .buildOpt/algebraic/DenseMatrix.o -c -std=c++11 -Wall -c -fmessage-length=0 -fPIC -fopenmp -O3 -DNDEBUG -DLOG_LEVEL=LOG_LEVEL_INFO networkit/cpp/algebraic/DenseMatrix.cpp
g++-4.8 -o .buildOpt/algebraic/DiagonalMatrix.o -c -std=c++11 -Wall -c -fmessage-length=0 -fPIC -fopenmp -O3 -DNDEBUG -DLOG_LEVEL=LOG_LEVEL_INFO networkit/cpp/algebraic/DiagonalMatrix.cpp
g++-4.8 -o .buildOpt/algebraic/IncidenceMatrix.o -c -std=c++11 -Wall -c -fmessage-length=0 -fPIC -fopenmp -O3 -DNDEBUG -DLOG_LEVEL=LOG_LEVEL_INFO networkit/cpp/algebraic/IncidenceMatrix.cpp
g++-4.8 -o .buildOpt/algebraic/LaplacianMatrix.o -c -std=c++11 -Wall -c -fmessage-length=0 -fPIC -fopenmp -O3 -DNDEBUG -DLOG_LEVEL=LOG_LEVEL_INFO networkit/cpp/algebraic/LaplacianMatrix.cpp
g++-4.8 -o .buildOpt/algebraic/Matrix.o -c -std=c++11 -Wall -c -fmessage-length=0 -fPIC -fopenmp -O3 -DNDEBUG -DLOG_LEVEL=LOG_LEVEL_INFO networkit/cpp/algebraic/Matrix.cpp
g++-4.8 -o .buildOpt/algebraic/NormalizedLaplacianMatrix.o -c -std=c++11 -Wall -c -fmessage-length=0 -fPIC -fopenmp -O3 -DNDEBUG -DLOG_LEVEL=LOG_LEVEL_INFO networkit/cpp/algebraic/NormalizedLaplacianMatrix.cpp
/var/tmp//ccFjDjJZ.s:17:expecting string instruction after `rep'
/var/tmp//ccFjDjJZ.s:56:expecting string instruction after `rep'
scons: *** [.buildOpt/algebraic/DenseMatrix.o] Error 1
/var/tmp//cch6WQOj.s:17:expecting string instruction after `rep'
/var/tmp//cch6WQOj.s:56:expecting string instruction after `rep'
/var/tmp//cch6WQOj.s:3864:expecting string instruction after `rep'
/var/tmp//cch6WQOj.s:3869:expecting string instruction after `rep'
scons: *** [.buildOpt/algebraic/Matrix.o] Error 1
/var/tmp//ccjOB51r.s:17:expecting string instruction after `rep'
scons: *** [.buildOpt/algebraic/CSRMatrix.o] Error 1
scons: building terminated because of errors.
scons returned an error, exiting setup.py
----------------------------------------
Command "/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-p2tcuarv/networkit/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ac3b1wc7-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/tmp/pip-build-p2tcuarv/networkit/
使用OSX可能與您有關。 我有很多問題。 NetworKit的一個常見問題是安裝會導致MacOSX出現許多奇怪的問題。
嘗試並遵循這些提示,或者查看我所做的可能有助於解決您的問題的步驟。
這是一個可能的逐步指南,可能會對您有所幫助。
第1步:確保已安裝gcc-4.8或gcc-4.9和現代的python3:例如:
$ gcc-4.8 --version
gcc-4.8 (Homebrew gcc48 4.8.5) 4.8.5 ....
$ python3 --version
Python 3.5.2
(((如果您沒有安裝這些工具,建議您使用homebrew
$ brew install gcc48 # installs gcc-4.8 and g++-4.8
)
如果您需要自制軟件,請訪問http://brew.sh/或直接運行:
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
)
步驟2:在您的家庭(〜)中編輯.profile或.bash_profile腳本,以便您的終端機具有安裝NetworKit的有用設置。 例如:
Dir$ echo $HOME # Check what this is set to -- it should be similar for you
/Users/GFenn
Dir$ echo ~ # this should be the same as above
/Users/GFenn
Dir$ cd
~$ nano .profile #[or use "vim" or "echo >> " if you prefer]
##WHILE IN .profile (or whatever), ADD THE FOLLOWING LINES AT THE END
# Temporary configurations to help install NetworKit
CC="gcc-4.8"
CXX="g++-4.8"
ARCHFLAGS="-arch x86_64"
alias gcc="gcc-4.8"
alias g++="g++4.8"
##WHEN NETWORKIT IS INSTALLED, YOU CAN DELETE THESE LINES OR COMMENT OUT WITH #s
步驟3:加載這些設置。 輕松-只需關閉並重新打開終端
$ exit
步驟4:安裝相關或有用的python3模塊:
$ sudo pip3 install pandas seaborn scipy numpy matplotlib tabulate networkx cython sklearn ipython
(如果您已經有了這些模塊,則無需擔心:但是如果您要確保您擁有新模塊,則:
$ sudo pip3 install --upgrade --force-reinstall pandas seaborn scipy numpy matplotlib tabulate networkx cython sklearn ipython
)
步驟5:下載源代碼。 [我發現這比pip3更好:但是,如果您願意,請先嘗試使用簡單的方法'$ sudo pip3 install networkit'!]
EITHER: Go to https://networkit.iti.kit.edu/get_started.html and scroll to "Build NetworKit from Source" and loop for the source code download
OR: just open https://networkit.iti.kit.edu/uploads/NetworKit.zip to download [works as of 13th Nov 2016]
(下載需要2-5分鍾)
步驟6:安裝。 (信息基於https://networkit.iti.kit.edu/get_started.html- >從源代碼構建NetworKit->構建NetworKit中的提示)
$ cd ~/Downloads
$ open NetworKit.zip #[if you need to unzip to source code]
$ cd NetworKit #[switch to the top folder of NetworKit]
$ sudo python3 setup.py build_ext --inplace #[run the script setup.py]
(第6步應花費5-10分鍾。)
步驟7:查看是否有效。 再次關閉終端(例如,單擊“退出終端”或運行“ $ exit”)。 重新打開並移至〜/ Downloads / NetworKit目錄。 例如,我有以下內容:
$ python3
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import networkit
/usr/local/lib/python3.5/site-packages/IPython/html.py:14: ShimWarning: The `IPython.html` package has been deprecated. You should import from `notebook` instead. `IPython.html.widgets` has moved to `ipywidgets`.
"`IPython.html.widgets` has moved to `ipywidgets`.", ShimWarning)
>>> G = networkit.Graph(5)
>>> G.addEdge(0,1)
<_NetworKit.Graph object at 0x11405f1b0>
>>> G.toString()
b'Graph(name=G#3, n=5, m=1)'
>>> G.nodes()
[0, 1, 2, 3, 4]
>>> G.edges()
[(1, 0)]
>>> G.neighbors(3)
[]
>>> from networkit.generators import BarabasiAlbertGenerator
>>> g = BarabasiAlbertGenerator(5, 50, 8).generate()
>>> g.nodes()
[0, 1, 2, ...., 49]
>>> g.neighbors(5)
[4, 6, 21, 31, 38, 47] # Will probably be different for you.
>>> quit()
$
如果一切似乎都在上面。 恭喜你 如果沒有,對不起..安裝這樣的東西並不容易! 希望上面的一些技巧對您的最終安裝解決方案很有用。
步驟8:確認位置。 成功執行第7步后,我發現該模塊的位置不正確。 要查看是否存在相同的問題,請轉到新目錄並重復步驟7。例如,以下內容對我造成了導入錯誤:
$ cd ~
$ python3
>>> import networkit
ImportErrors..
要解決此問題。 您需要將整個NetworKit目錄移動到python3可以找到它的好位置。 您也許可以將其移至
/usr/local/lib/python3.5/site-packages/
這是python3查找模塊的地方之一。 如果執行此方法,則應使用以下命令將/usr/local/lib/python3.5/site-packages/networkit添加到PYTHONPATH中:
$ export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.5/site-packages/networkit # To make this change permanent, add this line to your ~/.profile file.
但是,我推薦的執行步驟8的方法如下:
- $ mkdir ~/Documents/MyPython3Modules # create a place to save your own built modules -- you can do this step with the Finder app too
- copy/drag the NetworKit folder (~/Downloads/NetworKit) to the new MyPython3Modules folder. I found this is easier with the Finder.
- edit your .profile file from the Terminal
~$ nano .profile # or .bash_profile or whatever
##Add the following lines
export PYTHONPATH=$PYTHONPATH:~/Documents/MyPython3Modules # Now any module import statements will look here too.
export PYTHONPATH=$PYTHONPATH:~/Documents/MyPython3Modules/NetworKit
# or replace '~' with '/Users/GFenn' or whatever
$
(第二個PYTHONPATH附件的原因是NetworKit是一個東西目錄,其中包含實際的networkit模塊[並且它調用NetworKit中的對象,因此您不能只移動networkit而不是整個NetworKit)!)
步驟9:確認成功。 再次關閉終端,然后重新打開。 轉到遠離下載和MyPython3Modules的新目錄,然后查看:
$ cd ~
$ cd Documents/Junk_dir # Junk_dir is a boring folder in Documents
$ python3
>>> import networkit
/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/IPython/html.py:14: ShimWarning: The `IPython.html` package has been deprecated. You should import from `notebook` instead. `IPython.html.widgets` has moved to `ipywidgets`.
"`IPython.html.widgets` has moved to `ipywidgets`.", ShimWarning)
>>> G = networkit.Graph(5) # etc
>>> # all good
>>> quit()
$
希望本指南對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.