在Linux下安装python package到指定目录

来源:互联网 发布:网络教育专科学历 编辑:程序博客网 时间:2024/05/19 02:04

最近在服务器上需要用到一个新版本的python包,由于服务器是公用的,身为普通用户只能将其安装到自己的工作目录下。本次安装以scikit-image的v0.12.x版本为例。

(注意:在后面的命令中,两个短横(长这样 – )和一个短横(长这样 - )很像,但是会比短横稍微长一点。千万不要混淆0.0…)

  1. 先到scikit-image的github上将分支选为v0.12.x(master是正在开发的分支,不推荐使用),然后点右边的download ZIP按钮获得压缩包。

  2. 将压缩包解压到合适的目录,比如我的就是~/workingdir也就是$HOME/workingdir

  3. 进入源目录(如:~/workingdir/scikit-image-v0.12.x),在里面执行命令:(如果服务器上原来就在其它目录安装过这个包,那就加上–ignore-installed)
    pip install . –install-option=”–prefix=YourAddress” –ignore-installed
    (e.g. pip install . –install-option=”–prefix=$HOME/workingdir” –ignore-installed)

  4. 这个过程需要联网下载一些东西,像我所在的服务器是不能直接上外网的,这时需要配置代理服务器(这个代理服务器的IP可以问问自己的服务器管理员)来联网。配置方法网上有很多,我推荐一个只针对单个登录用户的方法http://easwy.com/blog/archives/proxy-setting-on-linux-console/(注意,有时你还需要设置https_proxy)

  5. 安装完之后会在你所指定的目录下产生一个lib文件夹,一般python的包都会安装在lib/python2.7/site-packages/目录下,将这个目录添加到PYTHONPATH中。推荐参考
    http://blog.csdn.net/shmilyringpull/article/details/8560606

  6. 如果服务器上在其它目录下安装过这个包,那需要确保python解释器先找到的lib是你的现在这个lib而不是原来那个lib。这只需要知道python解释器搜索路径的顺序就行了,先是搜索当前工作目录,然后是环境变量PYTHONPATH,再是sys.path指定的目录。

ps: 如果有权限在默认路径改动的话,直接pip install scikit-image即可
或者只是更新 pip install scikit-image –upgrade

注意了!!,由于前面要是用了–ignore-installed的话,它就会不管你服务器上原来有什么包,把scikit-image以及它的依赖包统统安装一遍,这其中就有numpy包,这个包貌似还需要配置一下和MKL的链接,比较麻烦,我是没时间去学,我的做法是删掉这个新安装的numpy包,让python解释器去找原来已经配置好的那个numpy包。

最后祝大家一切顺利,如果觉得有帮助就给个赞呦。有什么疑问可以在评论区留言,大家一起讨论喵。
觉得我的博客有需要改进的地方也欢迎指正。

3 0
原创粉丝点击