首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用sudo pip3安装Networkit

无法使用sudo pip3安装Networkit
EN

Stack Overflow用户
提问于 2016-10-31 19:21:16
回答 1查看 1.6K关注 0票数 0

我一直试图安装网络使用sudo pip3安装网络,如他们的网站描述,但我得到了这个错误!

代码语言:javascript
复制
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/
EN

回答 1

Stack Overflow用户

发布于 2016-11-13 10:44:28

这可能和你使用OSX有关。我有很多问题。NetworKit的一个常见问题是,安装会给MacOSX带来许多奇怪的问题。

试着遵循这些建议,或者看看我做了些什么来帮助解决你的问题。

  • 使用ARCHFLAGS="-arch x86_64“标志??这是已知的用于修复某些Mac配置设置的标志。
  • 使用c/c++编译器gcc-4 (我推荐gcc 4.8,但4.9应该可以)--更新。我成功地遵循了这个指南使用gcc-6,我的版本:自制gcc 6.2.0 -没有-multilib,所以,如果你想要使用,它应该是可以的。
  • 确保您有所有的依赖项
  • 使用现代python3 (例如最近的3.5)

这里有一个可能的一步一步的指南,可以帮助你走出困境。

第一步:确保您安装了gcc-4.8或gcc-4.9,并安装了现代python3:例如:

代码语言:javascript
复制
$ gcc-4.8 --version
gcc-4.8 (Homebrew gcc48 4.8.5) 4.8.5 ....
$ python3 --version
Python 3.5.2

(如果您没有安装这些设备,我建议使用国产软件安装

代码语言:javascript
复制
$ brew install gcc48  # installs gcc-4.8 and g++-4.8

)

如果您需要自制,请参阅http://brew.sh/或只运行:

代码语言:javascript
复制
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

)

步骤2:在家中(~)中编辑.profile或.bash_profile脚本,以便终端具有安装NetworKit的有用设置。例如:

代码语言:javascript
复制
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:加载这些设置。简单-只要关闭并重新打开你的终端

代码语言:javascript
复制
$ exit

步骤4:安装依赖或有用的python3模块:

代码语言:javascript
复制
 $ sudo pip3 install pandas seaborn scipy numpy matplotlib tabulate networkx cython sklearn ipython

(如果您已经拥有了这些模块,您不需要担心:但是如果您想确保您有新的模块:

代码语言:javascript
复制
$ sudo pip3 install --upgrade --force-reinstall pandas seaborn scipy numpy matplotlib tabulate networkx cython sklearn ipython

)

步骤5:下载源代码。我发现这比pip3更有帮助:但是如果您想要的话,请先尝试一下'$sudo pip3安装网络‘的简单方法!

代码语言:javascript
复制
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:安装。(基于started.html -> Build NetworKit from Source --> Building NetworKit)的提示提供的信息

代码语言:javascript
复制
$ 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分钟。)

第七步:看看它是否有效。再次关闭终端(例如单击“退出终端”或运行"$ exit")。重新打开并移回您的~/Download/NetworKit目录。例如,对我来说,我有以下几点:

代码语言:javascript
复制
$ 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。例如,以下内容将引发导入错误:

代码语言:javascript
复制
$ cd ~
$ python3
>>> import networkit
ImportErrors..

来解决这个问题。您需要将整个NetworKit目录移动到一个python3可以找到它的好位置。你也许可以把它移到

代码语言:javascript
复制
/usr/local/lib/python3.5/site-packages/

这是python3查找模块的地方之一。如果执行此方法,应使用以下方法将/usr/local/lib/python3.5/site-packages/networkit添加到PYTHONPATH:

代码语言:javascript
复制
$ export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.5/site-packages/networkit  # To make this change permanent, add this line to your ~/.profile file. 

但是,我建议执行步骤8的方法如下:

代码语言:javascript
复制
- $ 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!)

第九步:确认成功。再次关闭终点站并重新开放。转到一个远离下载和MyPython3Modules的新目录,请参阅:

代码语言:javascript
复制
$ 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()
$

希望这个向导能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40349110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档