我通常使用 virtualenv 在笔记本电脑上管理我的 python 环境。因此,我可以轻松为每个 python 版本安装任何依赖项。但是,我最近加入了一个在 linux 服务器上工作的项目组。大多数人使用 anaconda 作为 python 版本和环境管理器,他们可以使用 anaconda 附带的简单命令来做到这一点。
情况是,我们都没有 sudo 权限、不是 root 用户,也无法访问 apt,但 anaconda 可以处理这个任务。另一方面,我在许多其他论坛上发现,不使用 anaconda 的人在安装和路径管理每个依赖项时会遇到非常麻烦的问题。有没有我可以遵循的综合资源?
答案1
我已经用所有本地方法解决了这个问题。这很繁琐,但对我来说很有效,这可能对与我处境相同的人有帮助。我相信 anaconda 会做类似的事情,但会自动完成。
假设服务器管理员已经提供了基本的安装模块,即 build-essential、wget、tar。(如果没有,我不确定,但我认为可以使用我将描述的类似方法。)
现在,从源代码构建 python 所需的模块如下:bzip2、gdbm、libffi、libuuid、ncurses、openssl、readline、sqlite、xz、zlib。事实上,如果只安装 zlib、libffi 和 openssl,就可以顺利完成 python 安装。但是,如果要完成所有可选模块,则需要安装每个模块。
最后,还有一个对于可视化至关重要的模块,例如对于 matplotlib。此模块需要安装:tcl、tk。
此外,tk 需要 X11 模块及其相关组件。如果服务器尚未安装,则还需要以下组件:inputproto、kbproto、libpthread-stubs、libX11、libXau、libxcb、pkg-config、xcb-proto、xextproto、xproto、xtrans。
在安装了所有需求以及每个需求的需求等等(使用每个特定的配置)之后,需要 1. 将 PATH、CPATH、LD_LIBRARY_PATH、PKG_CONFIG_PATH 和 ACLOCAL_PATH 设置为每个模块的 bin、include、lib、lib/pkgconfig、share/aclocal 文件夹,或者 2. 将每个文件中的所有内容创建到每个路径变量设置的关联位置的符号链接。
然后,可以从源代码安装python并安装所有必需的(包括可选的)
至于如何安装和符号链接每个模块和python,我想把所有功劳归功于 佐藤翔