标签: requirements.txt

requirements.txt:以python版本为条件

我的requirements.txt已包含dataclasses在内,以向后移植python 3.6

然而,一些构建机器和同事使用 python 3.7,当尝试安装此模块时会失败。

有没有办法让数据类仅在必要时安装?

python dependency-management requirements.txt

4
推荐指数
1
解决办法
786
查看次数

Cython“ModuleNotFoundError”,即使它是在构建 docker 映像时通过requirements.txt 安装的

通过requirements.txt构建docker镜像时安装包。在 Dockerfile 中它读取

COPY requirements.txt /app/requirements.txt
RUN pip3 install -r /app/requirements.txt
Run Code Online (Sandbox Code Playgroud)

在 requests.txt 中,我放置了用于安装私有 git 存储库的部署令牌,例如以下示例:

git+https://gitlab+deploy-token-123456:a1b2c3d4e5f6g7h8j9@gitlab.com/example/lib.git@a1b2c3d4e5f6g7h8j9k1l2m3n4o5p6q7r8s9t
Run Code Online (Sandbox Code Playgroud)

它会抛出一个错误,ModuleNotFoundError: No module named 'Cython'.

然而,即使我将 Cython 包含在要求中并且它被正确收集,我仍然遇到相同的错误。

以下是完整的消息:

docker build -t docker.example/example:dev .
Sending build context to Docker daemon  8.704kB
Step 1/7 : FROM python:3.6.6-alpine
 ---> a78e257617d1
Step 2/7 : RUN apk update
 ---> Using cache
 ---> 35e6b7308e61
Step 3/7 : RUN apk add gcc build-base musl-dev libc-dev util-linux-dev linux-headers python3-dev git ca-certificates libffi-dev bash postgresql-libs postgresql-dev
 ---> Using cache …
Run Code Online (Sandbox Code Playgroud)

python gitlab requirements.txt docker

4
推荐指数
1
解决办法
9375
查看次数

pip 依赖项可以排除或包含在语义预发布标签中吗?

我的开发人员希望能够将库发布为“测试版”或“发布版”。

IE:

1.2.3-beta 1.2.3

在消费项目中,他们无法给我任何关于何时想要使用betarelease包的具体标准。我们有 CI,但没有任何明确的“何时”,我无法支持两个单独的点馈送,因为它们可能会失败。因此,我建议利用需求文件中的版本范围语法,这样他们就可以在签入期间指定他们想要的内容。他们从来没有做过这样的事情,而我基本上是一个Python菜鸟。是否可以过滤预发布标签?IE

lib == 1.*.*-*beta包裹吗?

lib == 1.*.*, !=1.*.*-*提取release包裹并确保排除任何beta包裹吗?

我会自己尝试我的理论,但我对 python 不太了解,无法在本地模拟某种示例库,而且他们太忙了,无法研究它。

python pip pypi requirements.txt python-packaging

4
推荐指数
1
解决办法
1542
查看次数

使用替代模块满足点子要求

我正在尝试在我的 Linux Mint 发行版上安装 python 模块“pyAudioProcessing”(https://github.com/jsingh811/pyAudioProcessing),而requirements.txt 中的一项导致了问题:python-magic-bin==0.4.14。当我运行时pip3 install -e pyAudioInstaller,出现错误:

ERROR: Could not find a version that satisfies the requirement python-magic-bin==0.4.14 (from pyAudioProcessing==1.1.5) (from versions: none)
ERROR: No matching distribution found for python-magic-bin==0.4.14 (from pyAudioProcessing==1.1.5)
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用 手动安装模块,则会出现相同的错误pip3 install python-magic-bin。该模块在我的 Windows 机器上安装没有问题。

pypi.org 允许我手动下载文件,但只有 Windows 和 MacOS .whl 文件可用。我尝试简单地从列表中删除该要求,但这导致出现大量其他错误,因此我认为该模块是合法需要的。

你是另一个python-magic-debian-bin我可以下载的模块。有没有一种简单的方法可以说服 pyAudioInstaller 使用另一个模块而不是原来的模块?就像我可以以某种方式重命名python-magic-debian-binpython-magic-bin并希望它能成功吗?

python module pip requirements.txt python-3.7

4
推荐指数
1
解决办法
2289
查看次数

使用Docker开发环境时如何处理Python的requirements.txt?

假设我编写了一个docker-compose.dev.yml文件来使用 Docker 设置 Flask 项目(Web 应用程序)的开发环境。我docker-compose.dev.yml设置了两项服务,一项用于数据库,一项用于在调试模式下运行 Flask 应用程序(这允许我进行热更改,而无需重新创建/重新启动容器)。这使得开发团队中的每个人都可以非常轻松地使用相同的开发环境。然而,存在一个问题:很明显,在开发应用程序时,有必要安装库,并在文件中列出它们requirements.txt(在Python的情况下)。为此,我只看到使用 Docker 开发环境的两种替代方案:

  1. 进入运行 Flask 应用程序的容器的控制台并使用pip install ...pip freeze > requirements.txt命令。
  2. 手动将依赖项写入文件requirements.txt并重建容器。

第一个选项有点费力,而第二个选项则有点“脏”。还有比上述两种选择更合适的选择吗?

编辑:我不知道我是否在问一些没有意义的事情,但如果有人能给我一些关于我想要完成的任务的指导,我将不胜感激。

python flask requirements.txt docker docker-compose

4
推荐指数
1
解决办法
6492
查看次数

安装 OS X 10.8 macports 后,python pip 无法处理 requirements.txt

最近买了一台新的 Mac 并准备将它用于 Python 和 iOS 开发。Python 运行良好——尤其是在安装 Xcode、macports 和 Apple 的命令行工具之前,pip'ing git repos 有很多 requirements.txt 依赖项。

现在 pip 可以很好地用于单独安装(例如,pip install twilio),但是每当我针对 requirements.txt 文件运行 pip 时,它都会失败(无论是否使用 sudo):

pip install ./requirements.txt
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-1.2.1-py2.7.egg/pip/basecommand.py", line 107, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-1.2.1-py2.7.egg/pip/commands/install.py", line 225, in run
    InstallRequirement.from_line(name, None))
  File "/Library/Python/2.7/site-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 118, in from_line
    return cls(req, comes_from, url=url)
  File "/Library/Python/2.7/site-packages/pip-1.2.1-py2.7.egg/pip/req.py", line 43, in __init__
    req = pkg_resources.Requirement.parse(req)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2510, in parse
    reqs …
Run Code Online (Sandbox Code Playgroud)

python macos pip macports requirements.txt

3
推荐指数
1
解决办法
2828
查看次数

有没有办法用pip install运行2to3?

我正在尝试使用pip install -r requirements.txt.来维护依赖项.但是,某些必需的包不直接支持Python 3,但可以使用手动转换2to3.

在做什么时有办法强制自动pip运行2to3这些包pip install -r requirements.txt吗?

python pip python-2to3 requirements.txt

3
推荐指数
1
解决办法
4525
查看次数

我是否总是需要重建docker才能安装新的pip包?

我注意到,当我尝试使用泊坞窗(图为主)安装新的PIP封装,它实际上并没有维持系统.我必须从requirements.txt重建并安装pip包

我试图运行fig run web pip install django,我看到包安装,但我每次运行它重新安装,而不会提示要升级的命令时(所以我知道软件包安装不沾)

这只是Docker的继承设计吗?我很困惑为什么总是需要建筑

python pip requirements.txt docker fig

3
推荐指数
1
解决办法
1084
查看次数

在requirements.txt中指定'pip'版本

我开发了一个 Python/Django 应用程序,它从一个虚拟环境(由 创建virtualenv)运行。

当创建虚拟环境,全球版本的pip默认情况下复制到新创建的环境中,这可能是非常过时的(例如,版本1.5.4python-pip包在Ubuntu 14.04)。

为了避免手动pip升级,将pip版本固定在requirements.txt文件中听起来是个好主意,例如添加以下行:

pip==8.1.2

通过更改需求文件中的行,指定pip版本还允许pip在所有托管应用程序环境(本地、开发、生产)中升级。

这听起来是个好习惯吗?这种方法有什么问题吗?

python pip virtualenv requirements.txt

3
推荐指数
1
解决办法
4360
查看次数

在heroku flask webapp部署中requirements.txt vs Pipfile?

我正在尝试将 Flask Web 应用程序部署到 Heroku,但我看到了关于需要在 git 存储库中包含哪些文件的相互矛盾的信息。

我的 webapp 是在虚拟环境 (venv) 中构建的,所以我有一个Pipfile和一个Pipfile.lock. 我还需要requirements.txt吗?一个会取代另一个吗?

我的另一个相关问题是,如果某个包无法在虚拟环境中安装会发生什么:我可以手动将它添加到requirements.txtPipfile吗?这是否会有效地做与pipenv install ...将包添加到需求列表之外的其他事情相同的事情(考虑到 Heroku 正在部署时安装包)。

pip heroku requirements.txt python-venv pipfile

3
推荐指数
1
解决办法
3023
查看次数