gpt4 book ai didi

python - 软件包的 pip 安装可以从源代码安装,但从软件包安装失败

转载 作者:太空宇宙 更新时间:2023-11-03 20:35:19 25 4
gpt4 key购买 nike

这是我的项目结构

~/Workspace/my-app  master ✗                                                                                                                            ◒
➢ tree -L 2
.
├── build
│   ├── bdist.macosx-10.14-x86_64
│   └── lib
├── dist
│   ├── my-app-0.0.4a0.tar.gz
│   └── my_app-0.0.4a0-py3-none-any.whl
├── gkeconf
│   ├── __init__.py
│   ├── commands.py
│   └── messages.py
├── main.py
├── my-app
│   ├── __init__.py
├── my_app.egg-info
│   ├── PKG-INFO
│   ├── SOURCES.txt
│   ├── dependency_links.txt
│   ├── entry_points.txt
│   ├── requires.txt
│   └── top_level.txt
├── setup.cfg
└── setup.py

这是我的setup.py

    entry_points={
'console_scripts': [
'my-app=main:cli',
],

当我从源代码目录执行时

pip install --editable .

运行说,my-app --version 有效。

当我通过构建包时

python3 setup.py sdist bdist_wheel

并通过将其推送到我的私有(private)仓库

python3 -m twine upload --verbose --repository my-private-repo dist/*

然后执行

pip install my-app

(在新的虚拟环境中)

并尝试运行它,失败如下:

➢  my-app --version
Traceback (most recent call last):
File "/Users/pkaramol/Desktop/.myvenv/bin/my-app", line 6, in <module>
from main import cli
ModuleNotFoundError: No module named 'main'
(.myvenv)

为什么?

MAJOR_UPDATE:似乎 --editable 标志造成了差异。简单的 pip install . 会产生相同的错误!

编辑:来自其他路径的pip install --editable也可以:

最佳答案

cjange 名称来自 my-appmy_app

移动mainmy_app

更改setup.py

 entry_points={
'console_scripts': [
'my-app=my_app.main:cli',
],

你的问题是你的main.py脚本不是包的一部分。 如果通过方法pip install -e安装的话然后 pip 仅创建 simlink 并找到 main.py文件。在正常安装中,不会复制它。

关于python - 软件包的 pip 安装可以从源代码安装,但从软件包安装失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57203029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com