标签: requirements.txt

为什么“pip freeze”会产生空文件?

我正在按照教程在 Heroku 上部署 Django 应用程序。

在代码的第五行中,它说pip freeze > requirements.txt但是当我运行它时(从venv),requirements.txt文件是空的!它使用之前的相同代码生成了 6-7 个依赖项。

我怎样才能解决这个问题?

python pip requirements.txt

5
推荐指数
1
解决办法
8269
查看次数

从requirements.txt文件安装R包

Python中有没有像requirements.txt这样的功能,您可以将使用的包列表存储到文件中,每当其他人想要运行您的程序并需要安装依赖项时,他们只需执行pip install -r requests即可。 TXT。

我认为,这在将 R 脚本部署到生产中时有很大帮助。如果没有这样的功能,我该如何复制它?

r pip requirements.txt install.packages

5
推荐指数
1
解决办法
6445
查看次数

使用requirements.txt将可编辑工作目录pip安装到自定义路径

简短版本: \n是否可以在requirements.txt中使用-e参数以及可编辑包的安装路径?

\n\n
\n\n

第一种方法

\n\n

要求.txt:

\n\n
-e git+https://github.com/snake-soft/imap-storage.git#egg=imap-storage\n
Run Code Online (Sandbox Code Playgroud)\n\n

优点:自动安装

\n\n

相反:可编辑目录位于 virtualenv src 文件夹内(不在工作区中)

\n\n
\n\n

第二种方法 (编辑:在知道自己在做什么之前不要使用此方法,请看底部)

\n\n

如果我克隆存储库并像这样安装它(virtualenv 已激活):

\n\n
cd /home/user/workspace\ngit clone https://github.com/snake-soft/imap-storage.git\npip install -e .\n
Run Code Online (Sandbox Code Playgroud)\n\n

给出我想要的结构:

\n\n
workspace\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 imap-storage\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 django-project  # uses imap-storage module\n
Run Code Online (Sandbox Code Playgroud)\n\n

我有我想要的。存储库 (imap-storage) 与使用它的 django-project 并行。\n它是可导入的,因为它安装在 virtualenv 内。

\n\n

Pro:可编辑目录位于我的工作区中

\n\n

魂斗罗:不自动化,不直观

\n\n
\n\n

目标

\n\n
    \n
  • pip install -rrequirements.txt 从 git 安装模块(就像第一种方法)
  • \n
  • 模块位于 virtualenv 的 pythonpath 中 -> 可导入
  • \n
  • 模块的可编辑工作目录位于我的工作区中(如第二种方法)
  • \n …

python git pip requirements.txt

5
推荐指数
1
解决办法
1881
查看次数

如何优化我的requirements.txt以仅包含我的应用程序直接使用的包?

举例来说,我将 django 添加到我的 venv 中pip install django。生成我的requirements.txt文件的通常方法是pip freeze > requirements.txt产生:

asgiref==3.2.3
Django==3.0.2
pytz==2019.3
sqlparse==0.3.0
Run Code Online (Sandbox Code Playgroud)

这是个谎言。我唯一的要求是 django,我想要的(完全有效的)requirements.txt 是:

Django>=3.0.2, <4
Run Code Online (Sandbox Code Playgroud)

有时这很重要。对于真正的应用程序,我最终会得到许多具有重叠依赖项的包。升级时这可能会或可能不会导致问题,但如果我固定了所有我不关心的依赖包,几乎总是会出现问题(在上面的示例中,它们取决于 django 开发人员,而不是我)。

为了优化依赖项臃肿的requirements.txt 文件,我可以手动检查源代码(导致上面的requirements.txt 为空;)),但对于任何实际应用程序来说,这很快就会变得不切实际。

python pip requirements.txt

5
推荐指数
1
解决办法
2355
查看次数

如何避免在.gitlab-ci.yml中的每个阶段之前安装requirements.txt?

我有一个.gitlab-ci.yml看起来像这样的:

image: "python:3.7"

before_script:
  - pip install -r requirements.txt

stages:
  - stageA
  - stageB

stage_a:
  stage: stageA
  script:
  - run_some_python_scripts

stage_b:
  stage: stageB
  script:
  - run_more_python_scripts
Run Code Online (Sandbox Code Playgroud)

通过此设置,requirements.txt在每个阶段之前安装。我只需要安装一次,这样 和 都stageA可以stageB使用。

我怎样才能实现这个目标?

python continuous-integration gitlab requirements.txt gitlab-ci

5
推荐指数
1
解决办法
2550
查看次数

找不到 pprint 的匹配发行版

我正在尝试安装该requirements.txt文件skiptracer,但它一直说

ERROR: Could not find a version that satisfies the requirement pprint (from -r requirements.txt (line 7)) (from versions: none)
ERROR: No matching distribution found for pprint (from -r requirements.txt (line 7))
Run Code Online (Sandbox Code Playgroud)

我什至无法安装pprint

pip pprint requirements.txt

5
推荐指数
1
解决办法
1万
查看次数

包中的Python“requirements.txt”文件

情况:

我创建了一个 python 包,其中使用以下库:

  1. 绘图库
  2. 正则表达式
  3. 统计数据
  4. 操作系统
  5. 单元测试
  6. 覆盖范围

我的问题是,当我这样做时pip freeze,结果只返回版本值

  1. matplotlib==3.2.1
  2. 正则表达式==2020.11.13
  3. 统计==1.0.3.5
  4. 覆盖范围==5.3.1

我读过一些网站,他们说这是因为,例如,os 和 unittest 已经随 Python3.X 一起安装了。

问题:

  1. 我应该在“requirements.txt”中包含“os”、“unittest”吗?
  2. 如果是这样,我应该写哪个版本?

python requirements.txt python-packaging

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

点要求输出全局包装

我的django项目有一个虚拟环境,但是当我点击时pip freeze,我会得到一个全球站点软件包列表,其中包括太多的软件包,例如ubuntu软件包和许多无关紧要的东西。无论virtualenv是否处于活动状态,都会发生这种情况。我的网站软件包列表看起来也有些苗条,所以我想知道venv是否一直在工作。

(env)~/code/django/ssc/dev/env/lib/python2.7/site-packages> ls
django
Django-1.4-py2.7.egg-info
easy-install.pth
pip-1.0.2-py2.7.egg
setuptools-0.6c11-py2.7.egg
setuptools.pth
Run Code Online (Sandbox Code Playgroud)

我怎么了

pip virtualenv requirements.txt

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

什么是来自ruby's gem的twiddle-wakka(〜>)在requirements.txt中为python的pip?

我已经看到在ruby的gem文件(文档)中使用的twiddle-wakka运算符(〜> )来指定与此类似的最后一个点版本:

'~> 0.3.1' is satisfied by 0.3.1, 0.3.2, 0.3.3, etc.
'~> 0.3.1' is not satisfied by 0.3.0
'~> 0.3' is satisfied by 0.3.1, 0.4.0, 0.5.1, etc.
'~> 0.3' is not satisfied by 0.2.0, 0.2.1, etc.
Run Code Online (Sandbox Code Playgroud)

我看到有一个>=运算符requirements.txt可以用来指定比这更好的东西,但我希望避免任何未来的包更新(主要版本更新)不再向后兼容我的代码 - 因此我想要一个玩弄,瓦卡.

pip中是否有等效的运算符?

python pip requirements.txt

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

ImportError:html5lib中没有名为base的模块

我突然无法启动Django服务器了,运行检查:

python manage.py check
Run Code Online (Sandbox Code Playgroud)

显示以下错误:

    apps.populate(settings.INSTALLED_APPS)
  File "/home/aym/.virtualenvs/prod_env/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "/home/aym/.virtualenvs/prod_env/local/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/aym/workspace/CompanyP/apps/account/models.py", line 18, in <module>
    from apps.groups.models import SubscriptionGroup
  File "/home/aym/workspace/CompanyP/apps/subscription/models.py", line 8, in <module>
    from apps.member.models import Member
  File "/home/aym/.virtualenvs/prod_env/local/lib/python2.7/site-packages/bleach/__init__.py", line 5, in <module>
    from bleach.linkifier import 
  File "/home/aym/.virtualenvs/prod_env/local/lib/python2.7/site-packages/bleach/linkifier.py", line 5, in <module>
    from html5lib.filters.base import Filter
ImportError: No module named base
Run Code Online (Sandbox Code Playgroud)

你知道吗?

python django importerror html5lib requirements.txt

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