pip、conda和setup.py安装可能导致安装错误的原因



每当我尝试用pip或pip3安装软件包时,我都会收到一个以开头的错误

DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621

并以结尾


× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [1 lines of output]
error in decorator setup command: use_2to3 is invalid.
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

使用Conda我得到错误:

ImportError: dlopen(/Users/user1/miniconda3/lib/python3.8/lib-dynload/_ctypes.cpython-38-darwin.so, 0x0002): Library not loaded: @rpath/libffi.7.dylib
Referenced from: /Users/user1/miniconda3/lib/python3.8/lib-dynload/_ctypes.cpython-38-darwin.so
Reason: tried: '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/python3.8/lib-dynload/../../libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/python3.8/lib-dynload/../../libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/bin/../lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/bin/../lib/libffi.7.dylib' (no such file), '/usr/local/lib/libffi.7.dylib' (no such file), '/usr/lib/libffi.7.dylib' (no such file)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/exceptions.py", line 1212, in print_unexpected_error_report
message_builder.append(get_main_info_str(error_report['conda_info']))
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/cli/main_info.py", line 237, in get_main_info_str
info_dict['_' + key] = ('n' + 26 * ' ').join(info_dict[key])
KeyError: 'pkgs_dirs'
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
Traceback (most recent call last):
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/exceptions.py", line 1080, in __call__
return func(*args, **kwargs)
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/cli/main.py", line 84, in _main
exit_code = do_call(args, p)
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/cli/conda_argparse.py", line 83, in do_call
return getattr(module, func_name)(args, parser)
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/cli/main_install.py", line 20, in execute
install(args, parser, 'install')
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/cli/install.py", line 259, in install
unlink_link_transaction = solver.solve_for_transaction(
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 114, in solve_for_transaction
unlink_precs, link_precs = self.solve_for_diff(update_modifier, deps_modifier,
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 157, in solve_for_diff
final_precs = self.solve_final_state(update_modifier, deps_modifier, prune, ignore_pinned,
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 262, in solve_final_state
ssc = self._collect_all_metadata(ssc)
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/common/io.py", line 88, in decorated
return f(*args, **kwds)
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/core/solve.py", line 397, in _collect_all_metadata
_supplement_index_with_system(virtual_pkg_index)
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/core/index.py", line 159, in _supplement_index_with_system
cuda_version = context.cuda_version
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/auxlib/decorators.py", line 268, in new_fget
cache[inner_attname] = func(self)
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/common/decorators.py", line 20, in wrapper
return func(*args, **kwargs)
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/base/context.py", line 850, in cuda_version
return cuda_detect()
File "/Users/user1/miniconda3/lib/python3.8/site-packages/conda/common/cuda.py", line 37, in cuda_detect
import ctypes
File "/Users/user1/miniconda3/lib/python3.8/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ImportError: dlopen(/Users/user1/miniconda3/lib/python3.8/lib-dynload/_ctypes.cpython-38-darwin.so, 0x0002): Library not loaded: @rpath/libffi.7.dylib
Referenced from: /Users/user1/miniconda3/lib/python3.8/lib-dynload/_ctypes.cpython-38-darwin.so
Reason: tried: '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/python3.8/lib-dynload/../../libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/python3.8/lib-dynload/../../libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/bin/../lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/lib/libffi.7.dylib' (no such file), '/Users/user1/miniconda3/bin/../lib/libffi.7.dylib' (no such file), '/usr/local/lib/libffi.7.dylib' (no such file), '/usr/lib/libffi.7.dylib' (no such file)

这些错误是否相关?可能导致这种错误的原因。如果我从源代码(setup.py(安装,模块会安装,但我会收到一个关于循环导入的错误。我尝试过用sudo安装,例如使用:

sudo -H pip install bat-country

但这行不通。如果我激活了一个conda环境,我可以在其中安装pip,但我也会收到循环导入错误。conda安装无法在环境中运行。有什么可以调试的吗?

我认为这可能是苹果硅的问题。我能够通过搜索libffi.7dylib并使用";conda-config—文件<condarc>的路径--添加pkgs_dirs<libffi.7.dylib封闭文件夹的路径>quot;或者通过将封闭文件夹的内容复制到conda在错误消息中搜索到的目录之一。然而,这并没有修复我遇到的许多其他安装和导入错误。解决方案是从这里下载MiniForge:(https://github.com/conda-forge/miniforge)和运行

chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh

sh ~/Downloads/Miniforge3-MacOSX-arm64.sh

source ~/miniforge3/bin/activate

最新更新