赞
踩
conda环境下运行python所报的错误信息如下:
- Traceback (most recent call last):
- File "/opt/faceswap/lib/cli/launcher.py", line 229, in execute_script
- process = script(arguments)
- File "/opt/faceswap/scripts/extract.py", line 61, in __init__
- self._extractor = Extractor(self._args.detector,
- File "/opt/faceswap/plugins/extract/pipeline.py", line 135, in __init__
- self._detect = self._load_detect(detector, rotate_images, min_size, configfile)
- File "/opt/faceswap/plugins/extract/pipeline.py", line 637, in _load_detect
- plugin = PluginLoader.get_detector(detector_name)(exclude_gpus=self._exclude_gpus,
- File "/opt/faceswap/plugins/plugin_loader.py", line 55, in get_detector
- return PluginLoader._import("extract.detect", name, disable_logging)
- File "/opt/faceswap/plugins/plugin_loader.py", line 197, in _import
- module = import_module(mod)
- File "/root/anaconda3/envs/faceswap/lib/python3.9/importlib/__init__.py", line 127, in import_module
- return _bootstrap._gcd_import(name[level:], package, level)
- File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
- File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
- File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
- File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
- File "<frozen importlib._bootstrap_external>", line 850, in exec_module
- File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
- File "/opt/faceswap/plugins/extract/detect/s3fd.py", line 11, in <module>
- from scipy.special import logsumexp
- File "/root/anaconda3/envs/faceswap/lib/python3.9/site-packages/scipy/special/__init__.py", line 663, in <module>
- from . import _ufuncs
- File "_ufuncs.pyx", line 1, in init scipy.special._ufuncs
- ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /root/anaconda3/envs/faceswap/lib/python3.9/site-packages/scipy/special/_ufuncs_cxx.cpython-39-x86_64-linux-gnu.so)
- 06/29/2023 15:07:40 CRITICAL An unexpected crash has occurred. Crash report written to '/opt/faceswap/crash_report.2023.06.29.150738070494.log'. You MUST provide this file if seeking assistance. Please verify you are running the latest version of faceswap before reporting
从错误中分析可知,报错发生在/lib64/libstdc++.so.6,是GLIBCXX_3.4.20找不到所致。
命令查看显示如下:
- [root@localhost faceswap]# strings /usr/lib64/libstdc++.so.6 |grep GLIBCXX*
- GLIBCXX_3.4
- GLIBCXX_3.4.1
- GLIBCXX_3.4.2
- GLIBCXX_3.4.3
- GLIBCXX_3.4.4
- GLIBCXX_3.4.5
- GLIBCXX_3.4.6
- GLIBCXX_3.4.7
- GLIBCXX_3.4.8
- GLIBCXX_3.4.9
- GLIBCXX_3.4.10
- GLIBCXX_3.4.11
- GLIBCXX_3.4.12
- GLIBCXX_3.4.13
- GLIBCXX_3.4.14
- GLIBCXX_3.4.15
- GLIBCXX_3.4.16
- GLIBCXX_3.4.17
- GLIBCXX_3.4.18
- GLIBCXX_3.4.19
- GLIBCXX_DEBUG_MESSAGE_LENGTH
本地确实没有GLIBCXX_3.4.20
- [root@localhost faceswap]ls -l /usr/lib64/libstdc++.so*
- lrwxrwxrwx. 1 root root 19 5月 6 14:48 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.19
- -rwxr-xr-x. 1 root root 995840 9月 30 2020 /usr/lib64/libstdc++.so.6.0.19
连接到linux系统的libstdc++.so.6.0.19
- [root@localhost faceswap]# find / -name libstdc++.so.6*
- /root/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/lib/libstdc++.so.6
- /root/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/lib/libstdc++.so.6.0.26
- /root/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
- /root/anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26
- /root/anaconda3/pkgs/libstdcxx-ng-11.2.0-h1234567_1/lib/libstdc++.so.6.0.29
- /root/anaconda3/pkgs/libstdcxx-ng-11.2.0-h1234567_1/lib/libstdc++.so.6
- /root/anaconda3/pkgs/libstdcxx-ng-12.2.0-h46fd767_19/lib/libstdc++.so.6
- /root/anaconda3/pkgs/libstdcxx-ng-12.2.0-h46fd767_19/lib/libstdc++.so.6.0.30
- /root/anaconda3/pkgs/gcc_impl_linux-64-12.1.0-hea43390_17/x86_64-conda-linux-gnu/lib/libstdc++.so.6
- /root/anaconda3/pkgs/gcc_impl_linux-64-12.1.0-hea43390_17/x86_64-conda-linux-gnu/lib/libstdc++.so.6.0.30
- /root/anaconda3/pkgs/libstdcxx-ng-13.1.0-hfd8a6a1_0/lib/libstdc++.so.6.0.31
- /root/anaconda3/pkgs/libstdcxx-ng-13.1.0-hfd8a6a1_0/lib/libstdc++.so.6
- /root/anaconda3/lib/libstdc++.so.6
- /root/anaconda3/lib/libstdc++.so.6.0.26
- /root/anaconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
- /root/anaconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26
- /root/anaconda3/envs/test/lib/libstdc++.so.6
- /root/anaconda3/envs/test/lib/libstdc++.so.6.0.29
- /root/anaconda3/envs/vits/lib/libstdc++.so.6
- /root/anaconda3/envs/vits/lib/libstdc++.so.6.0.29
- /root/anaconda3/envs/voice/lib/libstdc++.so.6
- /root/anaconda3/envs/voice/lib/libstdc++.so.6.0.29
- /root/anaconda3/envs/wav2lip/lib/libstdc++.so.6
- /root/anaconda3/envs/wav2lip/lib/libstdc++.so.6.0.29
- /root/anaconda3/envs/whisper/lib/libstdc++.so.6
- /root/anaconda3/envs/whisper/lib/libstdc++.so.6.0.29
- /root/anaconda3/envs/faceswap/x86_64-conda-linux-gnu/lib/libstdc++.so.6
- /root/anaconda3/envs/faceswap/x86_64-conda-linux-gnu/lib/libstdc++.so.6.0.30
- /root/anaconda3/envs/faceswap/lib/libstdc++.so.6
- /root/anaconda3/envs/faceswap/lib/libstdc++.so.6.0.31
- /usr/lib64/libstdc++.so.6
- /usr/lib64/libstdc++.so.6.0.19
- /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
- /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
- /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
- /usr/local/cuda-11.3/nsight-systems-2021.1.3/target-linux-armv8/host-linux-armv8/libstdc++.so.6
- /usr/local/cuda-11.3/nsight-systems-2021.1.3/host-linux-x64/libstdc++.so.6
拷贝高版本的libstdc++.so到/usr/lib64目录下,并重新建立软连接
- cp /root/anaconda3/envs/faceswap/lib/libstdc++.so.6.0.31 /usr/lib64/
- ln -sf /usr/lib64/libstdc++.so.6.0.31 /usr/lib64/libstdc++.so.6
通过命令行查看
- (faceswap) [root@localhost faceswap]# strings /usr/lib64/libstdc++.so.6 |grep GLIBCXX*
- GLIBCXX_3.4
- GLIBCXX_3.4.1
- GLIBCXX_3.4.2
- GLIBCXX_3.4.3
- GLIBCXX_3.4.4
- GLIBCXX_3.4.5
- GLIBCXX_3.4.6
- GLIBCXX_3.4.7
- GLIBCXX_3.4.8
- GLIBCXX_3.4.9
- GLIBCXX_3.4.10
- GLIBCXX_3.4.11
- GLIBCXX_3.4.12
- GLIBCXX_3.4.13
- GLIBCXX_3.4.14
- GLIBCXX_3.4.15
- GLIBCXX_3.4.16
- GLIBCXX_3.4.17
- GLIBCXX_3.4.18
- GLIBCXX_3.4.19
- GLIBCXX_3.4.20
- GLIBCXX_3.4.21
- GLIBCXX_3.4.22
- GLIBCXX_3.4.23
- GLIBCXX_3.4.24
- GLIBCXX_3.4.25
- GLIBCXX_3.4.26
- GLIBCXX_3.4.27
- GLIBCXX_3.4.28
- GLIBCXX_3.4.29
- GLIBCXX_3.4.30
- GLIBCXX_3.4.31
问题已经解决!
补充:
如果本地找不到GLIBCXX,升级gcc版本到10后再次查找,升级命令如下
- 安装centos-release-scl
- yum install centos-release-scl -y
-
- 安装devtoolset
- yum install devtoolset-10-gcc* -y
-
- 激活
- scl enable devtoolset-10 bash
-
- 添加到环境变量
- echo "source /opt/rh/devtoolset-10/enable" >> ~/.bash_profile
- source /opt/rh/devtoolset-10/enable
-
- 查看当前gcc版本
- gcc -v
Conda是一个开源的包管理器和环境管理系统,用于安装、运行和更新包和其依赖项。它是由Anaconda, Inc.(以前称为Continuum Analytics)创建,用于支持Python程序开发,但它也可以用来管理来自其他语言的包。Conda使得包管理和环境隔离变得简单,对于处理多个项目中的依赖关系和版本控制尤其有用。
Conda是一个强大的工具,对于管理复杂的Python项目和环境至关重要。它简化了包管理和环境设置,使得Python开发更加容易和高效。通过使用Conda,开发者可以确保他们的项目在不同机器和操作系统上都能以相同的方式运行,大大提高了项目的可移植性和可复现性。
包管理:Conda作为包管理器,可以安装、更新和移除Python包。它通过Conda仓库,如Anaconda Cloud或Conda Forge,来获取包。
环境管理:Conda允许用户创建隔离的环境,以便于不同项目可以拥有不同的库和/或Python版本。这在处理不兼容的依赖项或不同项目的需求时非常有用。
跨平台:Conda支持Linux、OS X和Windows,并允许创建跨平台的Python环境。
开源:Conda是开源的,允许用户查看源代码并对其进行改进。
解决依赖性问题:Conda可以自动解决包之间的依赖关系,简化了安装过程。
环境隔离:创建独立的环境可以避免包之间的版本冲突,使得项目更稳定。
易于使用:Conda的命令行界面简单直观,易于学习和使用。
广泛的包支持:Conda支持Python的许多流行库和应用程序。
社区支持:作为一个流行的工具,Conda拥有一个活跃的社区,用户可以从中找到支持和资源。
创建新环境:使用conda create
命令创建一个新环境,可以指定Python版本和所需的包。
激活环境:使用conda activate
命令来激活环境。
安装包:在激活的环境中使用conda install
命令来安装新的包。
环境列表:使用conda env list
来查看所有可用的Conda环境。
移除环境:使用conda env remove
命令来移除不再需要的环境。
Conda 是一个开源的包管理器和环境管理器,广泛用于管理Python环境和包。以下是一些常用的 Conda 命令:
安装 Conda 包:
conda install [package-name]
: 安装指定的包。创建和管理环境:
conda create --name [env-name]
: 创建一个新的环境。conda activate [env-name]
: 激活指定环境。conda deactivate
: 退出当前环境。conda env list
: 列出所有可用的环境。管理包:
conda list
: 在当前环境中列出所有已安装的包。conda update [package-name]
: 更新指定的包。conda remove [package-name]
: 移除指定的包。搜索包:
conda search [package-name]
: 搜索可用的包版本。环境导出和导入:
conda env export > environment.yml
: 导出当前环境的配置到一个YAML文件。conda env create -f environment.yml
: 使用YAML文件创建一个新环境。更新 Conda:
conda update conda
: 更新 Conda 到最新版本。查看 Conda 信息:
conda info
: 显示关于 Conda 的信息。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。