小编obk*_*obk的帖子

从 pyproject.toml 安装依赖项,但不安装包

我有一个 python 包,我想将其安装在 docker 文件中。

pyproject.toml 看起来像:

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "bar"
dependencies = [
    "pandas",
]

[project.optional-dependencies]
foo = [
    "matplotlib",
]
Run Code Online (Sandbox Code Playgroud)

...和 ​​Dockerfile:

# ...
WORKDIR /app
COPY . /app
RUN pip install /app
Run Code Online (Sandbox Code Playgroud)

这会在每个构建上安装依赖项(在本例中为pandas),我希望避免这种情况,以节省开发人员的时间,因为 pyproject.toml 很少被触及。

如何仅安装pandas(列出 pyproject.toml 的依赖项)而无需COPY .安装bar.

我想避免:

  • 采用诗歌等其他工具
  • 创建一个requirements.txt并dynamic在pyproject.toml中使用关键字,因为我已经optional-dependencies并且希望将依赖项列表尽可能靠近(即同一文件)。

就像是:

# ...
WORKDIR /app
COPY ./pyproject.toml /app/
RUN pip install --requirements-from /app/pyproject.toml  # <-- HERE …
Run Code Online (Sandbox Code Playgroud)

python pip docker python-packaging pyproject.toml

10
推荐指数
0
解决办法
5572
查看次数

virtualenv 中的日志记录模块

Ubuntu 12.10

在尝试让flask+logging 在virtualenv 中工作时,我发现日志模块似乎没有从virtualenv 中导入(下面片段中的最后一行)。

(我认为当我的flask应用程序在virtualenv中运行时,这会产生不打印到日志文件的副作用,但如果这个问题没有帮助,我会单独询问)

为什么是这样??日志模块有什么特别之处吗?

# system python
# imports come from /usr/lib/python2.7 as expected

me@home:~/Desktop$ python
Python 2.7.3 (default, Apr 10 2013, 05:13:16) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re; print re
<module 're' from '/usr/lib/python2.7/re.pyc'>                          # OK
>>> import logging; print logging
<module 'logging' from '/usr/lib/python2.7/logging/__init__.pyc'>       # OK
>>> exit()

# make virtual env

me@home:~/Desktop$ virtualenv --version
14.0.0
me@home:~/Desktop$ virtualenv testenv
New python executable in /home/me/Desktop/testenv/bin/python …
Run Code Online (Sandbox Code Playgroud)

python logging virtualenv

6
推荐指数
1
解决办法
2753
查看次数

创建干净的conda环境

我想创建一个空白/空的 conda 环境,但新创建的环境似乎是从根目录或其他环境中获取包。我已经以 root 身份在系统上安装了这些软件包(例如bedtoolsbwa等),也安装到其他 conda 环境中,但想要制作一个干净的软件包(为了重现性)。

这是预期的行为吗?我该如何调试这个?

我(试图)遵循这个答案:/sf/answers/26071/​​16638/3294994

$ conda env create -n test-env python
$ source activate 
$ conda env export
name: test-env
channels:
- conda-forge
- biconda
- anaconda
- defaults
dependencies
...
python=3.6.2=0
bcftools=1.6=0
bedtools=2.26.0=0
bwa=0.7.15=1
...
picard=2.14=py36_0
...
Run Code Online (Sandbox Code Playgroud)

有关环境的一些信息如下:

$ conda info
Current conda install:

               platform : linux-64
          conda version : 4.3.27
       conda is private : False
      conda-env version : 4.3.27
    conda-build version : not installed
         python version …
Run Code Online (Sandbox Code Playgroud)

python conda jupyter

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