You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python可编辑库安装成功后无法引用问题求助

问题描述

使用Python 3.11,遵循setuptools开发模式与src布局创建可编辑库项目,项目结构如下:

\library:
    \Include
    \Lib
    \Scripts
    \src:
       \ry:
           __init__.py(为空)
           tests.py(包含一个函数)
    pyproject.toml
    pyvenv.cfg
    README.md

pyproject.toml配置内容:

[build-system]
requires = ["setuptools >= 61.0"]
build-backend = "setuptools.build_meta"

[tool.setuptools.packages.find]
where = ["src"]

[project]
name = "ry"
version = "0.0.1"
authors = [
  { name="Jorge", email="myname@emaildomain.com" },
]
description = "A small example package"
readme = "README.md"
requires-python = ">=3.11"
classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
]

[project.urls]

激活虚拟环境后,进入\library目录执行命令:

python -m pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --editable .

安装成功后,在虚拟环境中的testLibrary.py文件里尝试import ry或from ry import tests均无法引用该库。

问题分析与解决方案

问题核心是项目源码文件与虚拟环境目录混杂在一起,导致pip在可编辑安装时无法正确识别包路径,Python解释器也无法定位到对应的包。

解决步骤:

  1. 重新整理项目结构,将虚拟环境与项目源码分离,标准结构示例:
\ry_project:
    \venv:  # 存放虚拟环境的Include、Lib、Scripts、pyvenv.cfg
    \src:
        \ry:
            __init__.py
            tests.py
    pyproject.toml
    README.md
    testLibrary.py  # 测试文件放在项目根目录,不要放在虚拟环境内
  1. 激活venv虚拟环境,进入\ry_project目录,重新执行可编辑安装命令:
python -m pip install --editable .
  1. 验证安装:执行pip list查看是否存在ry包,且版本显示为0.0.1 (editable from [你的项目src路径])。
  2. 运行测试文件testLibrary.py,此时import ry或from ry import tests即可正常导入。

额外检查点:当前pyproject.toml中[tool.setuptools.packages.find]的where = ["src"]配置符合src布局要求,无需修改。

内容的提问来源于stack exchange,提问作者user2368631

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 13:34:50