export LD_LIBRARY_PATH=/usr/local/lib
然后我打开了.bash_profile
文件:vi ~/.bash_profile
。
在这个文件中,我添加了以下内容:LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
如果终端关闭并重新启动,输入
echo $LD_LIBRARY_PATH
将不会显示任何结果。如何永久设置路径?
export LD_LIBRARY_PATH=/usr/local/lib
然后我打开了.bash_profile
文件:vi ~/.bash_profile
。
在这个文件中,我添加了以下内容:LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH
将不会显示任何结果。你应该增加关于你的发行版的更多细节,例如在Ubuntu下正确的方法是添加一个自定义的.conf
文件到/etc/ld.so.conf.d
,例如:
sudo gedit /etc/ld.so.conf.d/randomLibs.conf
在该文件中,您需要编写包含您希望添加到系统的所有库的目录的完整路径,例如:
/home/linux/myLocalLibs
记得只添加目录路径,而不是文件的完整路径,该路径内的所有库将自动索引。
保存并运行sudo ldconfig
以使用这些库更新系统。
/usr/local/lib
已经存在,因此不需要编辑任何文件,只需运行sudo ldconfig
即可。 - alexia'ImportError: libpq.so.5: cannot open shared object file: No such file or directory
错误。使用以下命令找到路径:
$ find ~/ -name libpq.so.5
然后使用@user1824407的建议:
sudo vim /etc/ld.so.conf.d/pyscopg.conf
接着是libpg.so.5的SageMaker位置:
/home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/
最后运行sudo ldconfig。神奇的事情发生了。 - MorningHackerecho $LD_LIBRARY_PATH
仍为空...(Ubuntu 20.04) - Hyperplane保留以前的路径,不要覆盖它:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/
您可以将其添加到您的~/.bashrc
文件中:
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/' >> ~/.bashrc
mv ~/.bashrc ~/.bash_profile
,它才起作用。这是在Ubuntu 20.04.1 LTS上。如果没有这个文件重命名,重新登录后LD_LIBRARY_PATH
仍将为空。.bashrc
对用户来说是rwx的,所以应该可以正常执行。手动执行也无法设置LD_LIBRARY_PATH
(有点意料之外),而源它(. ./.bashrc
)则可以设置它。非常奇怪,我认为这可能是Ubuntu 20.04.1 LTS特有的问题。 - Roel Van de Paar在/etc/environment
中添加
LD_LIBRARY_PATH="/path/you/want1:/path/you/want/2"
参见Ubuntu文档。
更正:我应该听取自己的建议并仔细阅读文档。文档指出,这不适用于LD_LIBRARY_PATH:自Ubuntu 9.04 Jaunty Jackalope起,不能在$HOME/.profile、/etc/profile或/etc/environment文件中设置LD_LIBRARY_PATH。必须使用/etc/ld.so.conf.d/.conf配置文件。*
user1824407的答案是正确的。.bash_profile
文件仅由登录shell执行。您可能需要将其放在〜/ .bashrc
中,或者只需注销并再次登录即可。
由于某些原因,没有人提到编辑bashrc文件后需要重新加载的事实。您可以注销并重新登录(如上所述),但您也可以使用以下命令:source ~/.bashrc
或. ~/.bashrc
。
export LD_LIBRARY_PATH=/usr/local/lib
添加到~/.bashrc
中[最好放在脚本的结尾以避免中间任何覆盖,默认的~/.bashrc
带有许多if-else
语句]。LD_LIBRARY_PATH
将会被反映出来。在文件末尾添加以下行:
export LD_LIBRARY_PATH=<your path>
保存并退出。
执行以下命令:
sudo ldconfig
您可以尝试在/etc/profile.d
中添加一个自定义脚本,例如myenv_vars.sh
。
cd /etc/profile.d
sudo touch myenv_vars.sh
sudo gedit myenv_vars.sh
export LD_LIBRARY_PATH=/usr/local/lib
注销并登录后,LD_LIBRARY_PATH
将会被永久设置。
我在Mint 15到17中执行以下操作,也适用于Ubuntu Server 12.04及以上版本:
sudo vi /etc/bash.bashrc
滚动到底部并添加:
export LD_LIBRARY_PATH=.
所有用户都添加了环境变量。
$
,例如export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
。 - Cookiesudo ldconfig
即可。 - Necktwi$ source ~/.bash_profile
吗?我经常会忘记。然后像 @neckTwi 说的那样运行 ldconfig。 - ashley