使用Poetry安装本地Python包时,目标目录需存在pyproject.toml吗?
解决方法:无需在myproject创建pyproject.toml即可导入本地包
不需要在myproject目录创建pyproject.toml,以下两种方法可以直接在pipenv环境中使用你的mypackage:
方法一:用pipenv内置的pip命令安装本地包
这是最直接的方式,无需额外依赖Poetry:
- 进入myproject的pipenv虚拟环境:
pipenv shell - 执行pip的可编辑安装命令,路径替换为你的mypackage根目录(包含pyproject.toml的文件夹):
加pip install -e C:\Users\jonathan.biemond\PycharmProjects\mypackage-e参数是为了开启可编辑模式,后续修改mypackage的代码后,无需重新安装就能在myproject环境中生效。
方法二:用Poetry安装(无需创建pyproject.toml)
如果你想继续用Poetry操作,不需要在myproject生成配置文件,只需用poetry add命令并指定本地包路径,同时加上--no-root参数避免Poetry寻找当前项目的pyproject.toml:
poetry add --no-root C:\Users\jonathan.biemond\PycharmProjects\mypackage
为什么之前的命令报错?
你执行的poetry install mypackage是错误用法:poetry install的作用是安装当前项目(需存在pyproject.toml)的所有依赖,而非单独安装某个包,所以它会在当前目录及父目录寻找pyproject.toml,找不到就抛出你遇到的错误。
内容的提问来源于stack exchange,提问作者Jonathan Biemond
相关产品推荐
相关产品推荐

