由于lapack是先决条件,并且由于我没有超级用户访问系统,因此我使用以下方法在本地安装了lapack:
$cmake -DCMAKE_INSTALL_PREFIX=/home/tom .$make install
我注意到在这一步之后,liblapack.a位于我的本地lib目录/ home / tom / lib中,正如预期的那样.
但是,当我激活我的虚拟环境并运行pip install cvxopt时,我收到以下错误:
<snip>gcc -pthread -sharedbuild/temp.linux-x86_64-2.7/src/C/base.o build/temp.linux-x86_64-2.7/src/C/dense.obuild/temp.linux-x86_64-2.7/src/C/sparse.o-L/usr/lib -L/public/apps/python/2.7.4/lib-lm -llapack -lblas -lpython2.7 -o build/lib.linux-x86_64-2.7/cvxopt/base.so/usr/bin/ld: cannot find -llapackcollect2: ld returned 1 exit statuserror: command 'gcc' Failed with exit status 1
我已经尝试将/ home / tom / lib添加到LD_liBRARY_PATH和LD_RUN_PATH,但这些似乎都不会影响pip用于构建模块的gcc命令行选项.
任何人都可以告诉我如何提供pip的图书馆搜索路径?有没有更好的办法?
解决方法 经过一些实验,我能够解决问题.我要做的第一件事是为LAPACK启用共享库:~/src/lapack-3.5.0 $cmake -DBUILD_SHARED_liBS=ON -DCMAKE_INSTALL_PREFIX=/home/tom .~/src/lapack-3.5.0 $make install
然后我导出了LD_FLAGS以包含正确的库搜索路径:
export LD_FLAGS="-L/home/tom/lib"
然后我重新尝试从源代码安装cvxopt进入虚拟环境:
~/src/cvxopt-1.1.6 $. venv/bin/activate~/src/cvxopt-1.1.6 (venv)$python setup.py build install
我没有尝试使用LD_liBRARY_PATH或LD_RUN_PATH来确定它们是否仍然需要LD_FLAGS.但是,我确实确定需要一个共享的LAPACK库; cvxopt不会链接到静态库.
总结以上是内存溢出为你收集整理的Python pip库搜索路径全部内容,希望文章能够帮你解决Python pip库搜索路径所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)