活动介绍

Traceback (most recent call last): File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/module/manager.py", line 224, in search module = self._local_modules[name] = HubModule.load(module_dir) File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/module/module.py", line 418, in load py_module = utils.load_py_module(dirname, '{}.module'.format(basename)) File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/utils/utils.py", line 248, in load_py_module py_module = importlib.import_module(py_module_name) File "/root/anaconda3/envs/paddle_env/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 843, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/root/.paddlehub/modules/ocr_system/module.py", line 33, in <module> from tools.infer.utility import base64_to_cv2 ModuleNotFoundError: No module named 'tools'

时间: 2025-07-22 08:47:48 浏览: 19
<think>我们遇到了在安装PaddleOCR的hubserving模块时出现的`ModuleNotFoundError: No module named 'tools'`错误。这个错误通常是因为模块在导入时找不到`tools`包,而`tools`是PaddleOCR源码的一部分。由于我们是通过`hub install`命令安装的,可能没有正确设置Python路径来包含PaddleOCR的源码目录。 ### 解决方案 #### 方法1:通过设置环境变量添加路径(推荐) 1. **定位PaddleOCR源码路径** 首先,我们需要知道PaddleOCR源码的位置。如果你是通过git克隆的,那么源码路径就是你克隆的目录。例如,假设你克隆到了`/path/to/PaddleOCR`。 2. **设置PYTHONPATH** 在运行之前,将PaddleOCR的根目录添加到`PYTHONPATH`环境变量中: ```bash export PYTHONPATH=/path/to/PaddleOCR:$PYTHONPATH ``` 注意:将`/path/to/PaddleOCR`替换为实际的PaddleOCR源码路径。 3. **重新安装并运行** 然后重新安装hub模块并运行: ```bash hub uninstall ocr_system hub install /path/to/PaddleOCR/deploy/hubserving/ocr_system ``` 这样,Python在导入模块时就会搜索`/path/to/PaddleOCR`目录,从而找到`tools`模块。 #### 方法2:修改模块代码(备选) 如果上述方法无效,可以尝试修改`module.py`文件,在开头添加源码路径: 1. **找到模块安装位置** 首先,找到安装的`ocr_system`模块的位置。通常,它位于`~/.paddlehub/modules/ocr_system`。 2. **编辑module.py** 打开`~/.paddlehub/modules/ocr_system/module.py`,在文件开头添加以下代码(将`/path/to/PaddleOCR`替换为实际路径): ```python import sys sys.path.insert(0, '/path/to/PaddleOCR') ``` 这样,在导入`tools`模块之前,已经将PaddleOCR的路径添加到`sys.path`中。 ### 验证 在完成上述步骤后,尝试重新运行,应该可以解决`ModuleNotFoundError`。 ### 注意事项 - 确保你使用的PaddleOCR版本是完整的(最好通过git克隆最新版本)。 - 如果使用虚拟环境,请确保在激活虚拟环境后设置环境变量或修改代码。 ### 相关问题 §§相关问题§§ 1. 如何提高PaddleOCR的识别精度? 2. PaddleOCR支持哪些语言的文本识别? 3. 如何将PaddleOCR部署为REST API服务? 4. 如何训练自定义OCR模型? 以上解决方案应该能解决你的问题。如果还有疑问,请提供更多环境信息(如操作系统、Python版本、PaddleOCR版本等)。</think>### 解决 PaddleHub 部署 OCR 系统时 "No module named 'tools'" 错误 您遇到的 `ModuleNotFoundError: No module named 'tools'` 错误是由于 PaddleOCR 的模块路径问题导致的。以下是完整的解决方案: #### 问题原因分析 1. **路径依赖问题** `tools` 模块是 PaddleOCR 的核心组件,但 PaddleHub 安装时未正确链接到 PaddleOCR 源码路径[^1] 2. **环境隔离问题** 虚拟环境中缺少必要的路径配置 3. **安装方式差异** `hub install` 命令与直接安装 PaddleOCR 的路径处理不同 #### 完整解决方案 ##### 方法 1:源码安装(推荐) ```bash # 1. 克隆 PaddleOCR 官方仓库 git clone https://github.com/PaddlePaddle/PaddleOCR cd PaddleOCR # 2. 安装完整依赖 pip install -r requirements.txt # 3. 安装 PaddleHub OCR 模块 hub install deploy/hubserving/ocr_system/ ``` ##### 方法 2:环境路径修复 ```bash # 1. 查找 PaddleOCR 安装路径 python -c "import paddleocr; print(paddleocr.__file__)" # 输出类似:/opt/conda/lib/python3.8/site-packages/paddleocr/__init__.py # 2. 添加路径到环境变量 export PYTHONPATH=/opt/conda/lib/python3.8/site-packages/paddleocr:$PYTHONPATH # 3. 重新安装模块 hub uninstall ocr_system hub install deploy/hubserving/ocr_system/ ``` ##### 方法 3:直接使用 PaddleOCR(替代方案) ```python from paddleocr import PaddleOCR ocr = PaddleOCR(use_angle_cls=True) result = ocr.ocr('your_image.jpg', cls=True) for line in result: print(line[0][1]) # 打印识别结果 ``` #### 验证安装成功 ```python import sys from tools.infer import utility # 关键验证点 print("工具模块加载成功!") print(f"Python路径: {sys.path}") ``` #### 环境配置建议 1. **路径结构** ``` project_root/ ├── PaddleOCR/ # 官方源码 │ ├── tools/ # 缺失的模块 │ └── deploy/hubserving/ocr_system/ └── your_script.py ``` 2. **依赖版本** 确保版本兼容性: ```bash paddlepaddle==2.4.2 paddlehub==2.3.1 paddleocr==2.6.1.3 ``` > **重要提示**:如果使用 Docker,在 Dockerfile 中添加: > ```dockerfile > ENV PYTHONPATH /app/PaddleOCR:$PYTHONPATH > ``` #### 常见问题排查 1. **虚拟环境问题**: 使用 `conda list | grep paddle` 检查安装位置 2. **Windows 特殊处理**: 在代码开头添加: ```python import sys sys.path.append(r"C:\Path\To\PaddleOCR\tools") ``` 3. **Jupyter 环境**: 重启 kernel 后执行: ```python %load_ext autoreload %autoreload 2 ```
阅读全文

相关推荐

root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/_distutils_hack/__init__.py:31: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml warnings.warn( Traceback (most recent call last): File "/root/anaconda3/envs/paddle_env/bin/hub", line 5, in <module> from paddlehub.commands.utils import execute File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/__init__.py", line 31, in <module> from paddlehub import datasets File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/datasets/__init__.py", line 16, in <module> from paddlehub.datasets.chnsenticorp import ChnSentiCorp File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/datasets/chnsenticorp.py", line 19, in <module> from paddlehub.datasets.base_nlp_dataset import TextClassificationDataset File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/datasets/base_nlp_dataset.py", line 21, in <module> import paddlenlp File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlenlp/__init__.py", line 46, in <module> from . import ( File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlenlp/trl/__init__.py", line 22, in <module> from .sft_config import * File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlenlp/trl/sft_config.py", line 29, in <module> class SFTConfig(TrainingArguments): File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlenlp/trl/sft_config.py", line 62, in SFTConfig model_init_kwargs: Optional[dict[str, Any]] = None TypeError: 'type' object is not subscriptable

/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/_distutils_hack/__init__.py:31: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml warnings.warn( [2025-07-10 23:36:06,901] [ WARNING] - The _initialize method in HubModule will soon be deprecated, you can use the __init__() to handle the initialization of the object Traceback (most recent call last): File "/root/anaconda3/envs/paddle_env/bin/hub", line 8, in <module> sys.exit(execute()) File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/commands/utils.py", line 78, in execute status = 0 if com['_entry']().execute(sys.argv[idx:]) else 1 File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/commands/serving.py", line 352, in execute self.start_serving() File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/commands/serving.py", line 245, in start_serving self.start_single_app_with_args() File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/commands/serving.py", line 221, in start_single_app_with_args self.preinstall_modules() File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/commands/serving.py", line 152, in preinstall_modules m = hub.Module(**init_args) File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/module/module.py", line 388, in __new__ module = cls.init_with_name( File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/module/module.py", line 504, in init_with_name user_module._initialize(**kwargs) File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/compat/paddle_utils.py", line 220, in runner return func(*args, **kwargs) File "/root/.paddlehub/modules/ocr_system/module.py", line 69, in _initialize self.text_sys = TextSystem(cfg) File "/ppocr/PaddleOCR/tools/infer/predict_system.py", line 53, in __init__ self.text_detector = predict_det.TextDetector(args) File "/ppocr/PaddleOCR/tools/infer/predict_det.py", line 150, in __init__ ) = utility.create_predictor(args, "det", logger) File "/ppocr/PaddleOCR/tools/infer/utility.py", line 247, in create_predictor raise ValueError(f"not find {file_name}.pdiparams in {model_dir}") ValueError: not find inference.pdiparams in ./ppocr/PaddleOCR/inference/ch_PP-OCRv3_det_infer/

hub install /ppocr/PaddleOCR/deploy/hubserving/ocr_system /root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/_distutils_hack/__init__.py:31: UserWarning: Setuptools is replacing distutils. Support for replacing an already imported distutils is deprecated. In the future, this condition will fail. Register concerns at https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml warnings.warn( Traceback (most recent call last): File "/root/anaconda3/envs/paddle_env/bin/hub", line 8, in <module> sys.exit(execute()) File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/commands/utils.py", line 78, in execute status = 0 if com['_entry']().execute(sys.argv[idx:]) else 1 File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/commands/install.py", line 47, in execute manager.install(directory=_arg) File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/module/manager.py", line 192, in install return self._install_from_directory(directory) File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/module/manager.py", line 364, in _install_from_directory hub_module_cls = HubModule.load(self._get_normalized_path(module_info.name)) File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/module/module.py", line 418, in load py_module = utils.load_py_module(dirname, '{}.module'.format(basename)) File "/root/anaconda3/envs/paddle_env/lib/python3.8/site-packages/paddlehub/utils/utils.py", line 248, in load_py_module py_module = importlib.import_module(py_module_name) File "/root/anaconda3/envs/paddle_env/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 843, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/root/.paddlehub/modules/ocr_system/module.py", line 33, in <module> from tools.infer.utility import base64_to_cv2 ModuleNotFoundError: No module named 'tools'

(paddle) vision@gpunode5:~$ conda config --show | findstr "proxy" findstr: command not found --- Logging error --- Traceback (most recent call last): File "/home/vision/jnf/anaconda3/lib/python3.8/site-packages/conda/gateways/logging.py", line 139, in emit self.flush() File "/home/vision/jnf/anaconda3/lib/python3.8/logging/__init__.py", line 1065, in flush self.stream.flush() BrokenPipeError: [Errno 32] Broken pipe Call stack: File "/home/vision/jnf/anaconda3/bin/conda", line 13, in <module> sys.exit(main()) File "/home/vision/jnf/anaconda3/lib/python3.8/site-packages/conda/cli/main.py", line 129, in main return conda_exception_handler(main, *args, **kwargs) File "/home/vision/jnf/anaconda3/lib/python3.8/site-packages/conda/exceptions.py", line 1413, in conda_exception_handler return_value = exception_handler(func, *args, **kwargs) File "/home/vision/jnf/anaconda3/lib/python3.8/site-packages/conda/exceptions.py", line 1125, in __call__ return func(*args, **kwargs) File "/home/vision/jnf/anaconda3/lib/python3.8/site-packages/conda/cli/main.py", line 86, in main_subshell exit_code = do_call(args, p) File "/home/vision/jnf/anaconda3/lib/python3.8/site-packages/conda/cli/conda_argparse.py", line 93, in do_call return getattr(module, func_name)(args, parser) File "/home/vision/jnf/anaconda3/lib/python3.8/site-packages/conda/cli/main_config.py", line 29, in execute execute_config(args, parser) File "/home/vision/jnf/anaconda3/lib/python3.8/site-packages/conda/cli/main_config.py", line 175, in execute_config stdout_write('\n'.join(format_dict(d))) File "/home/vision/jnf/anaconda3/lib/python3.8/logging/__init__.py", line 1442, in info self._log(INFO, msg, args, **kwargs) File "/home/vision/jnf/anaconda3/lib/python3.8/logging/__init__.py", line 1585, in _log self.handle(record) File "/home/vision/jnf/anaconda3/lib/python3.8/logging/__init__.py", line 1595, in handle self.callHandlers(record) File "/home/vision/jnf/anaconda3/lib/python3.8/logging/__init__.py", line 1657, in callHandlers hdlr.handle(record) File "/home/vision/jnf/anaconda3/lib/python3.8/logging/__init__.py", line 950, in handle self.emit(record) File "/home/vision/jnf/anaconda3/lib/python3.8/site-packages/conda/gateways/logging.py", line 144, in emit self.handleError(record) Message: 'add_anaconda_token: True\nadd_pip_as_python_dependency: True\naggressive_update_packages:\n - ca-certificates\n - certifi\n - openssl\nallow_conda_downgrades: False\nallow_cycles: True\nallow_non_channel_urls: False\nallow_softlinks: False\nallowlist_channels: []\nalways_copy: False\nalways_softlink: False\nalways_yes: None\nanaconda_upload: None\nauto_activate_base: False\nauto_stack: 0\nauto_update_conda: True\nbld_path: \nchangeps1: True\nchannel_alias: https://conda.anaconda.org\nchannel_priority: flexible\nchannels:\n - defaults\nclient_ssl_cert: None\nclient_ssl_cert_key: None\nclobber: False\nconda_build: {}\ncreate_default_packages: []\ncroot: /home/vision/jnf/anaconda3/conda-bld\ncustom_channels:\n anaconda/pkgs/main: https://mirrors.tuna.tsinghua.edu.cn\n anaconda/pkgs/r: https://mirrors.tuna.tsinghua.edu.cn\n anaconda/pkgs/msys2: https://mirrors.tuna.tsinghua.edu.cn\n conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\ncustom_multichannels:\n defaults: \n - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main\n - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r\n - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2\n local: \ndebug: False\ndefault_channels:\n - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main\n - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r\n - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2\ndefault_python: 3.8\ndefault_threads: None\ndeps_modifier: not_set\ndev: False\ndisallowed_packages: []\ndownload_only: False\ndry_run: False\nenable_private_envs: False\nenv_prompt: ({default_env}) \nenvs_dirs:\n - /home/vision/jnf/anaconda3/envs\n - /home/vision/.conda/envs\nerror_upload_url: https://conda.io/conda-post/unexpected-error\nexecute_threads: 1\nexperimental_solver: classic\nextra_safety_checks: False\nforce: False\nforce_32bit: False\nforce_reinstall: False\nforce_remove: False\nignore_pinned: False\njson: False\nlocal_repodata_ttl: 1\nmigrated_channel_aliases: []\nmigrated_custom_channels: {}\nnon_admin_enabled: True\nnotify_outdated_conda: True\nnumber_channel_notices: 5\noffline: False\noverride_channels_enabled: True\npath_conflict: clobber\npinned_packages: []\npip_interop_enabled: False\npkgs_dirs:\n - /home/vision/jnf/anaconda3/pkgs\n - /home/vision/.conda/pkgs\nproxy_servers: {}\nquiet: False\nremote_backoff_factor: 1\nremote_connect_timeout_secs: 9.15\nremote_max_retries: 3\nremote_read_timeout_secs: 60.0\nrepodata_fns:\n - current_repodata.json\n - repodata.json\nrepodata_threads: None\nreport_errors: False\nrestore_free_channel: False\nrollback_enabled: True\nroot_prefix: /home/vision/jnf/anaconda3\nsafety_checks: warn\nsat_solver: pycosat\nseparate_format_cache: False\nshortcuts: True\nshow_channel_urls: True\nsigning_metadata_url_base: None\nsolver_ignore_timestamps: False\nssl_verify: True\nsubdir: linux-64\nsubdirs:\n - linux-64\n - noarch\ntarget_prefix_override: \ntrack_features: []\nunsatisfiable_hints: True\nunsatisfiable_hints_check_depth: 2\nupdate_modifier: update_specs\nuse_index_cache: False\nuse_local: False\nuse_only_tar_bz2: False\nverbosity: 0\nverify_threads: 1' Arguments: () Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> BrokenPipeError: [Errno 32] Broken pipe

(cpd) PS E:\CarPlateDetection\CarPlateDetection> python MainProgram.py A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.2 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with 'pybind11>=2.12'. If you are a user of the module, the easiest solution will be to downgrade to 'numpy<2' or try to upgrade the affected module. We expect that some modules will need time to support NumPy 2. Traceback (most recent call last): File "E:\CarPlateDetection\CarPlateDetection\MainProgram.py", line 20, in <module> from paddleocr import PaddleOCR File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\__init__.py", line 14, in <module> from .paddleocr import * File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\paddleocr.py", line 48, in <module> from tools.infer import predict_system File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\tools\infer\predict_system.py", line 32, in <module> import tools.infer.predict_rec as predict_rec File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\tools\infer\predict_rec.py", line 31, in <module> from ppocr.postprocess import build_post_process File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\ppocr\postprocess\__init__.py", line 24, in <module> from .db_postprocess import DBPostProcess, DistillationDBPostProcess File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\ppocr\postprocess\db_postprocess.py", line 25, in <module> from shapely.geometry import Polygon File "D:\Anaconda_envs\envs\cpd\lib\site-packages\shapely\__init__.py", line 27, in <module> from shapely.lib import GEOSException # NOQA AttributeError: _ARRAY_API not found Traceback (most recent call last): File "E:\CarPlateDetection\CarPlateDetection\MainProgram.py", line 20, in <module> from paddleocr import PaddleOCR File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\__init__.py", line 14, in <module> from .paddleocr import * File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\paddleocr.py", line 48, in <module> from tools.infer import predict_system File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\tools\infer\predict_system.py", line 32, in <module> import tools.infer.predict_rec as predict_rec File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\tools\infer\predict_rec.py", line 31, in <module> from ppocr.postprocess import build_post_process File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\ppocr\postprocess\__init__.py", line 24, in <module> from .db_postprocess import DBPostProcess, DistillationDBPostProcess File "D:\Anaconda_envs\envs\cpd\lib\site-packages\paddleocr\ppocr\postprocess\db_postprocess.py", line 25, in <module> from shapely.geometry import Polygon File "D:\Anaconda_envs\envs\cpd\lib\site-packages\shapely\__init__.py", line 27, in <module> from shapely.lib import GEOSException # NOQA ImportError: numpy.core.multiarray failed to import

我直接输入pip install lap可以运行,但是输入pip install lap ==0.4.0报错,错误信息为 Building wheel for lap (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [17 lines of output] C:\Users\Asus\AppData\Local\Temp\pip-install-of5dgx80\lap_60e3f99852764226a7a9ac99c7c3e734\setup.py:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html from pkg_resources import parse_version Partial import of lap during the build process. Traceback (most recent call last): File "<string>", line 2, in <module> File "", line 34, in <module> File "C:\Users\Asus\AppData\Local\Temp\pip-install-of5dgx80\lap_60e3f99852764226a7a9ac99c7c3e734\setup.py", line 236, in <module> setup_package() File "C:\Users\Asus\AppData\Local\Temp\pip-install-of5dgx80\lap_60e3f99852764226a7a9ac99c7c3e734\setup.py", line 223, in setup_package from numpy.distutils.core import setup File "D:\Anaconda\envs\paddle\lib\site-packages\numpy\distutils\core.py", line 24, in <module> from numpy.distutils.command import config, config_compiler, \ File "D:\Anaconda\envs\paddle\lib\site-packages\numpy\distutils\command\config.py", line 19, in <module> from numpy.distutils.mingw32ccompiler import generate_manifest File "D:\Anaconda\envs\paddle\lib\site-packages\numpy\distutils\mingw32ccompiler.py", line 29, in <module> from distutils.msvccompiler import get_build_version as get_build_msvc_version ModuleNotFoundError: No module named 'distutils.msvccompiler' [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for lap Running setup.py clean for lap Failed to build lap ERROR: Failed to build installable wheels for some pyproject.toml based projects (la

大家在看

recommend-type

经典算法(C语言)

经典算法(C语言)包括1.汉若塔 2.费式数列 3. 巴斯卡三角形 4.三色棋 5.老鼠走迷官(一) 6.老鼠走迷官(二) 7.骑士走棋盘 8.八皇后 9.八枚银币 10.生命游戏 11.字串核对 12.双色、三色河内塔 13.背包问题(Knapsack Problem) 14.蒙地卡罗法求 PI 15.Eratosthenes筛选求质数 16.超长整数运算(大数运算) 17.长 PI 18.最大公因数、最小公倍数、因式分解 19.完美数 20.阿姆斯壮数 等等
recommend-type

公开公开公开公开-openprotocol_specification 2.7

LY-WCS-2012-01-06-01 V 1.0 公开公开公开公开 产品名称:产品名称:产品名称:产品名称: WCS 系统简介系统简介系统简介系统简介-公开版公开版公开版公开版 共共共共 13 页页页页 WCSWCSWCSWCS 系统简介系统简介系统简介系统简介 ((((客户交流用客户交流用客户交流用客户交流用)))) 文文文文 档档档档 作作作作 者:者:者:者: 王 超 日期:日期:日期:日期:2012/01/06 开发开发开发开发/测试经理:测试经理:测试经理:测试经理: 程 达 日期:日期:日期:日期:2012/01/06 项项项项 目目目目 经经经经 理:理:理:理: 程 达 日期:日期:日期:日期:2012/01/06 文文文文 档档档档 编编编编 号:号:号:号: ___________ ___ LY-WCS-2012-01-06-01______________ 上海朗因智能科技有限公司上海朗因智能科技有限公司上海朗因智能科技有限公司上海朗因智能科技有限公司 版权所有版权所有版权所有版权所有 不得复制不得复制不得复制不得复制
recommend-type

服务质量管理-NGBOSS能力架构

服务质量管理 二级能力名称 服务质量管理 二级能力编号 CMCM.5.4 概述 监测、分析和控制客户感知的服务表现 相关子能力描述 能够主动的将网络性能数据通告给前端客服人员; 能够根据按照客户价值来划分的客户群来制定特殊的SLA指标; 能够为最有价值的核心客户群进行网络优化; 对于常规的维护问题,QoS能够由网元设备自动完成,比如,对于网络故障的自恢复能力和优先客户的使用权; 能够把潜在的网络问题与客户进行主动的沟通; 能够分析所有的服务使用的质量指标; 能够根据关键的服务质量指标检测与实际的差距,提出改进建议; Service request 服务请求---请求管理。 客户的分析和报告:对关闭的请求、用户联系和相关的报告进行分析。 Marketing collateral的散发和marketing Collateral 的散发后的线索跟踪
recommend-type

extjs6.2加SenchaCmd-6.5.3.6-windows-64bit

SenchaCmd-6.5.3.6-windows-64bit ext6.2.0gpl SenchaCmd-6.5.3.6-windows-64bit ext6.2.0gpl
recommend-type

MOXA UPort1110drvUSB转串口驱动

MOXA UPort1110drvUSB转串口驱动,解决没有com口的烦恼

最新推荐

recommend-type

rclone-browser-1.7.0-2.el8.tar.gz

# 适用操作系统:Centos8 #Step1、解压 tar -zxvf xxx.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
recommend-type

qt5pas-2.6-2001201.el8.tar.gz

# 适用操作系统:Centos8 #Step1、解压 tar -zxvf xxx.el8.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm
recommend-type

ROS2自动化一键安装配置脚本

本脚本提供ROS2 Iron版本的自动化安装,包含环境配置、依赖安装及rosdep初始化,适用于Ubuntu系统,简化开发者部署流程。 目前支持ubuntu22.04版本,ROS2 humble版本。其他版本可能会失败
recommend-type

手把手带你写一个简易聊天机器人(Python版).doc

手把手带你写一个简易聊天机器人(Python版).doc
recommend-type

愤怒的小鸟素材包 unity

愤怒的小鸟素材包适用于游戏开发学习
recommend-type

TBS v3.7.0:支持PHP5的PHP模板引擎发布

根据给定文件信息,以下是关于“TinyButStrong v3.7.0 PHP模板引擎”的详细知识点介绍: 标题:“TinyButStrong v3.7.0 PHP模板引擎” 知识点: 1. 模板引擎定义与作用: 模板引擎是一种软件组件,它将页面的业务逻辑与显示逻辑分离,允许开发者在不修改服务器端代码的情况下,通过模板文件控制页面的布局和内容。模板引擎在Web开发中广泛应用,可以简化页面设计,提高代码的可维护性。 2. TinyButStrong (TBS)模板引擎: TBS是一个PHP模板引擎,它允许PHP脚本与HTML文件实现有效的分离。这种分离的好处是,网页设计师可以专注于模板设计,而不会触及后端的PHP代码,反之亦然。这使得团队合作变得更加顺畅,也降低了代码错误的可能性。 3. TBS的使用方式: TinyButStrong设计成可以兼容任何可视化HTML编辑器,如Adobe Dreamweaver、Microsoft Expression Web等,这意味着开发者可以使用这些工具进行模板设计,然后将这些模板嵌入到PHP脚本中。 4. TBS新版本特性: 该版本的TBS提供了6个新特性,虽然文件信息中没有具体列出这些特性,但一般来说,新特性可能涉及性能改进、新增函数、更灵活的模板操作、更加人性化的API设计等。 5. TBS版本修复的bug: 修复了5个bug,虽然没有具体说明,但一般修复bug会改善软件的稳定性和性能,提供更流畅的用户体验。 6. PHP版本支持变更: TBS v3.7.0只支持PHP5,不再支持PHP4。这一变更意味着TBS的使用环境将只限于运行PHP5及以上版本的服务器上。对于还在使用PHP4的开发者来说,需要升级到PHP5或以上版本才能继续使用TBS。 7. 内置对PDO和MySQLi的支持: PDO (PHP Data Objects)和MySQLi是PHP中用于数据库操作的两种扩展。PDO提供了一个数据访问抽象层,这意味着无论使用哪种数据库,都可以用相同的函数执行查询和获取数据。MySQLi是专门为MySQL数据库设计的面向对象的接口,它同样提供了丰富的功能来执行SQL语句和操作数据库。TBS内置对这两种数据库操作接口的支持,使得与数据库的交互变得更为简单和高效。 描述:“TinyButStrong(TBS)是一个可以让PHP脚本和HTML文件干净分离的PHP模板引擎。TBS设计成可以使用任何可视化HTML编辑器来编写TBS的HTML模板页。” 知识点: 1. TBS模板引擎的分离理念: 在Web开发中,将PHP脚本逻辑与HTML设计分离是非常重要的。这样做可以增强项目的可维护性,并允许网页设计师和后端开发人员独立工作,提高开发效率。TBS作为一个模板引擎,正是通过模板文件这一中间层实现了这种分离。 2. 可视化HTML编辑器的兼容性: TBS能够与各种可视化HTML编辑器相兼容,这一点极大地便利了前端开发人员。他们无需熟悉复杂的PHP代码,就可以设计出符合后端需要的模板。这样既保证了设计的自由度,也简化了前端和后端的协作流程。 标签:“PHP源码-其它类别” 知识点: 1. PHP源码的分类: PHP源码通常可以根据其功能和用途被分为不同的类别,如框架、库、模板引擎等。TBS作为模板引擎,归入了“其他类别”中,意味着它不属于框架或者常见的库类别,而是作为一个独立的工具来处理模板和数据的展示。 压缩包子文件的文件名称列表:“TinyButStrong_v3.7.0” 知识点: 1. 压缩包文件的命名规范: 通常情况下,压缩包文件的命名规范反映出其包含内容的版本信息、用途或者特性。在这里,“TinyButStrong_v3.7.0”明确指出了文件包含的软件名称和版本号,为用户提供了一个直观的参考。 2. 文件版本号的意义: 版本号通常表示了软件的迭代发展和更新程度。在本例中,“3.7.0”意味着这可能是第3个主版本的第7个次版本更新,版本号的递增通常伴随功能的增加、性能的提升或错误的修正。 综上所述,TinyButStrong v3.7.0作为一个PHP模板引擎,它在设计上注重了PHP脚本与HTML模板的分离,使得前端设计师可以独立于后端开发者工作,提高了工作效率。同时,它还提供了对最新PHP版本的支持,并内置了对PDO和MySQLi数据库操作的支持,使得数据操作更为便捷。新特性的加入和bug的修复也表明了TBS在不断的发展和优化中,以满足日益增长的Web开发需求。
recommend-type

【FFT算法的硬件实现探索】:FPGA与ASIC优化技术分析

# 摘要 本论文综合讨论了快速傅里叶变换(FFT)算法的基础知识、FPGA技术与ASIC技术在FFT实现中的应用,及其各自的优化技术。文中还对FFT硬
recommend-type

stm32stlinkutility擦除程序无法擦除写保护

<think>好的,我现在需要帮助用户解决STM32使用ST-LINK Utility时因写保护导致程序无法擦除的问题。首先,我应该回顾用户提供的引用资料,看看有没有相关的解决方案。 用户提到了引用[2]和[3],其中引用[2]提到了使用仿真器解除写保护的方法,而引用[3]则直接提到使用STM32 ST-LINK Utility去写保护的步骤。此外,引用[4]介绍了不同的烧录方式,可能也有帮助。 首先,用户的问题是无法擦除程序,因为芯片被写保护了。根据经验,STM32的写保护通常可以通过连接ST-LINK Utility后进入设置,解除保护。可能需要检查连接是否正常,然后通过软件操作来解除
recommend-type

C++程序设计郑莉教学视频与课件资源打包下载

根据提供的文件信息,我们可以推断出该压缩包内含的教学资源主要围绕C++语言程序设计,由郑莉老师制作,内容涉及教学视频、课件以及书籍的源代码。下面将详细展开这些知识点。 ### C++程序设计基础 C++是一种静态数据类型、编译式、通用的编程语言,它支持多种编程范式,包括过程化、面向对象和泛型编程。C++被设计为对硬件操作有强大的控制能力,同时拥有高度的代码复用性。作为C语言的超集,C++在继承C语言高效、紧凑等特性的同时,增加了面向对象编程的能力。 ### 郑莉与C++教学 郑莉老师制作的C++教学资源,可能包含了以下内容: 1. **教学视频(45集)**:这套视频很可能是分阶段的教学,由浅入深地介绍C++的基础知识到高级特性。集数的分布可能按照如下逻辑: - 基础语法、数据类型和变量 - 控制结构、循环和函数 - 数组、字符串操作和指针 - 结构体、联合体和枚举 - 面向对象编程基础:类和对象 - 继承、多态性和虚函数 - 静态成员、友元函数和运算符重载 - 高级特性:模板、异常处理、STL(标准模板库) - C++11/14/17/20新特性介绍 - 项目实战与案例分析 2. **课件(PPT)**:这个部分可能包含了对应上述视频的教学PPT,每集视频配套的PPT都会详细解释关键点,通常包括了课程大纲、重点、难点的图示和代码示例。PPT可能还会提供一些练习题和答案,帮助学习者加强理解和实践。 3. **源代码**:这里的源代码应该包括了教学视频中演示的示例代码以及课件中提及的代码片段。这些代码可能覆盖了从简单的“Hello World”程序到复杂的面向对象设计案例,以及各种C++的STL使用实例。源代码的提供有助于学习者能够动手实践,更好地理解和掌握C++编程。 ### C++学习资源与方法 1. **理论与实践相结合**:学习C++的过程中,理论知识的理解和实际编程操作需要相辅相成,特别是在面向对象编程方面,实际编写代码并观察运行结果,能极大加深理解。 2. **重视基础**:C++语言基础特别重要,特别是数据类型、运算符、控制流程、函数和指针等方面。这些都是学习后续内容(如类和对象)的基石。 3. **面向对象深入理解**:C++的核心是面向对象编程(OOP)。学习者需要透彻理解类与对象、封装、继承和多态的概念,并且通过实际编码体验OOP的优势。 4. **掌握STL**:标准模板库(STL)是C++语言的一个重要组成部分,它提供了一系列可重用的模板类和函数,涵盖容器、迭代器、算法、函数对象等,学会使用STL可以显著提高开发效率。 5. **关注新标准**:C++标准从C++98/03到C++11、C++14、C++17乃至C++20不断发展更新,每一次更新都引入了新的特性,如自动类型推导、lambda表达式、智能指针、并发支持等。学习新标准对从事现代C++开发至关重要。 6. **实战与项目经验**:学习编程最终是为了能够解决实际问题,通过项目实战可以锻炼综合运用所学知识的能力,并且了解软件开发的完整流程。 7. **社区资源**:积极参与C++社区,如Stack Overflow、Reddit等论坛,可以获取额外的学习资源、解决问题的思路和最新的行业动态。 ### 结语 通过上述对【标题】、【描述】和【压缩包子文件的文件名称列表】的分析,我们可以得知这个压缩包提供了全面的C++编程学习材料。无论对于初学者,还是有一定基础希望进一步提升的开发者,这份由郑莉老师制作的教学资源都具有很高的参考价值。通过系统地学习这些材料,并结合实践和项目经验,学习者可以有效提高C++编程能力。
recommend-type

【突破FFT算法速度瓶颈】:并行化实现与计算性能优化

# 摘要 本文全面综述了快速傅里叶变换(FFT)算法及其并行化实现,阐述了并行计算的理论基础,包括定义、重要性、模型以及算法设计基础。文章深入探讨FFT算法的并行化策略,并提供了基于不同并行计算平台(如MPI和OpenMP)的编程实践案例。此外,本文还对并行FFT算法的性能进行了分析,并评估了其在现代科学和工业应用中的潜力。通过实验环境和工具的介绍,文章对大规模数