当前位置: 首页 > 知识库问答 >
问题:

安装pip Git+HTTPS和python setup.py之间的区别

卞博简
2023-03-14

我知道这个流行主题,但是当我使用PIPGit+HTTPS以及Pythonsetup.py安装Python应用程序时,我遇到了不同的结果

我正在构建一个Docker映像。我正在尝试安装在一个包含其他几个python应用程序的映像中,这个自定义的WebHook。

  1. 使用Git+HTTPS
RUN /venv/bin/pip install git+https://github.com/alerta/alerta-contrib.git#subdirectory=webhooks/sentry

这似乎是正确地安装webhook,因为相关的endpoint是l8r可发现的。更重要的是,当我执行到正在运行的容器并搜索相关文件时,我会看到以下内容

./venv/lib/python3.7/site-packages/sentry_sdk
./venv/lib/python3.7/site-packages/__pycache__/alerta_sentry.cpython-37.pyc
./venv/lib/python3.7/site-packages/sentry_sdk-0.15.1.dist-info
./venv/lib/python3.7/site-packages/alerta_sentry.py
./venv/lib/python3.7/site-packages/alerta_sentry-5.0.0-py3.7.egg-info
COPY sentry /app/sentry
RUN /venv/bin/python /app/sentry/setup.py install

这并不能正确地安装webhook,而且,在相应的容器中,我看到了不同的文件布局

./venv/lib/python3.7/site-packages/sentry_sdk
./venv/lib/python3.7/site-packages/sentry_sdk-0.15.1.dist-info
./venv/lib/python3.7/site-packages/alerta_sentry-5.0.0-py3.7.egg
./alerta_sentry.egg-info
./dist/alerta_sentry-5.0.0-py3.7.egg

(sentry_sdk相关文件必须不相关)

为什么第二种方法不能正确地安装webhook?

这两种选择是否会产生相同的结果?

共有1个答案

巫马俊力
2023-03-14

最后起作用的是以下内容

RUN /venv/bin/pip install /app/sentry/

我不知道这两种安装方式之间的细微差别

但是,我确实注意到/venv/bin/python/app/sentry/setup.py install没有生成alerta_sentry.py而只生成了.egg文件,即./venv/lib/python3.7/site-packages/alerta_sentry-5.0.0-py3.7.egg

另一方面,/venv/bin/pip install/app/sentry/解压缩(?)创建.egg./venv/lib/python3.7/site-packages/alerta_sentry.py

我也不知道为什么第二个安装选项(即创建.egg文件的选项)在运行时不起作用。

 类似资料:
  • 设置中有两个选项。py和让我很困惑。根据这个网站,使用创建一个指向站点包目录的特殊链接。 人们建议我使用进行新的安装,并且在安装文件进行任何更改后,。 有人能解释一下这些命令的用法吗?

  • 问题内容: 与重新安装软件包有关的两个选项是和。 这两个选项在官方文档中描述如下 似乎它们都忽略了某些东西并进行了重新安装,但是我不能说出它们之间的区别(如果我实际执行它们,我可以看到一些区别……但是我无法解释)。如果我搜索“以pip强制重新安装软件包”,结果将同时列出和,这使我很困惑。 问题答案: 在安装软件包之前,请先将其卸载(如果已安装)。与运行包及其每个依赖项几乎相同。 忽略软件包及其De

  • 除了npm update modify package.json之外,这些命令之间的本质区别是什么?

  • 问题内容: 和之间有什么区别? 问题答案: 作曲家更新 将更新您在中指定的依赖关系 例如,如果您需要此软件包作为依赖项: 并且您实际上已经安装了该软件包的版本,运行将导致该软件包的升级(例如,如果已经发布,则升级为)。 详细将: 读 删除不再需要的已安装软件包 检查所需软件包最新版本的可用性 安装最新版本的软件包 更新以存储已安装的软件包版本 作曲家安装 不会更新任何东西;它只会安装文件中指定的所

  • 我已经在谷歌上搜索过了,但还是不清楚。请分享你的想法。