我正在尝试在开发人员模式下在 cr-48 chromebook 上安装 Python2.7,并面临一个奇怪的问题,我很难在谷歌上搜索解决方案。首先是一些背景..root分区是只读挂载的,所以我一直在/usr/local下安装包,这是一个单独的可写挂载点。有一种方法可以强制根分区本身读写(有一些小缺点),但我决定不走那条路。我一直在下载 archlinux 软件包并将它们解压缩到 /usr/local 下,到目前为止,其中一些运行良好。我基本上.tar.xz像这样提取文件:
xz -dc package.tar.xz | sudo tar --strip-components=1 -C /usr/local -xvf -
Run Code Online (Sandbox Code Playgroud)
这基本上会将发往 /usr 的文件放到 /usr/local 下。我出口/usr/local/lib提前/usr/lib下了LD_LIBRARY_PATH,并得到了几个包,以做工精细这种方式。出于某种原因,python 无法加载识别这一点,尽管不完全确定是什么原因造成的。扩展我从archlinux 站点获得的 python 2.7 包后,我能够正常启动 python shell,并且一个简单的打印工作正常。然后我尝试安装 setuptools,所以从 pypy 下载了源代码并尝试运行sudo /usr/local/python2 setup.py install,但它一直给我以下错误:
/usr/local/bin/python2: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
该libpython2.7.so.1.0文件确实/usr/local/lib/存在于LD_LIBRARY_PATH. ldd 的快速运行清楚地显示了这一点:
chronos@localhost /tmp/setuptools-1.1.6 $ ldd …Run Code Online (Sandbox Code Playgroud) python ×1