使用 easy_install 安装模块后正确设置 LD_LIBRARY_PATH

Correctly setting LD_LIBRARY_PATH after installing a module with easy_install

我已经通过 运行 easy_install path/to/egg 安装了 pyodbc Python 模块。该模块使用本机代码。输出表明成功。

然而,当尝试 import pyodbc 时,出现错误:cannot open shared object file

对该站点的研究表明,Python 在环境变量 LD_LIBRARY_PATH 指定的路径中查找本机库。所以我应该将它设置为指向 easy_install 在安装过程中放置​​本机文件的路径。

但是,我找不到这个路径。我查看了 /usr/lib/usr/lib64 和其他一些有意义的目录(我目前不在工作的 Linux 机器上,所以很抱歉我不记得了我查看的其他目录)。

请说明在哪里可以找到这个路径。

如解释的那样here

您必须将 LD_LIBRARY_PATH 设置为 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib(在您的 .profile 或 .bashrc 或 .zshrc 中),它指向 unixodbcfreetds 共享库的位置如果您通过系统的包管理器安装它们,则已安装。

即如果你在 ubuntu,输入 apt-get install freedts unixodbc

pyodbc 只是 C 库的包装器,因此有此要求。

最后但重要的一件事,在这些环境文件之一中设置您的 LD_LIBRARY_PATH 后,关闭并重新打开终端的 shell 或例如 source ~/.bashrc(如果您有显然把它放在你的 bashrc 中)