相关疑难解决方法(0)

将conda environment.yml与pip requirements.txt结合使用

我使用conda环境并且需要一些pip包,例如来自~gohlke的预编译轮.

目前我有两个文件:environment.ymlconda with:

# run: conda env create --file environment.yml
name: test-env
dependencies:
- python>=3.5
- anaconda
Run Code Online (Sandbox Code Playgroud)

以及requirements.txt在激活上述conda环境后可以使用的点数:

# run: pip install -i requirements.txt
docx
gooey
http://www.lfd.uci.edu/~gohlke/pythonlibs/bofhrmxk/opencv_python-3.1.0-cp35-none-win_amd64.whl
Run Code Online (Sandbox Code Playgroud)

是否有可能将它们组合在一个文件中(对于conda)?

python pip anaconda conda

68
推荐指数
4
解决办法
3万
查看次数

pip freeze 创建了一些奇怪的路径而不是包版本

我正在开发一个 python 包。我pip freeze > requirements.txt用来将所需的包添加到requirements.txt 文件中。但是,我意识到一些包,而不是包版本,在它们前面有一些路径。

numpy==1.19.0
packaging==20.4
pandas @ file:///opt/concourse/worker/volumes/live/38d1301c-8fa9-4d2f-662e-34dddf33b183/volume/pandas_1592841668171/work
pandocfilters==1.4.2
Run Code Online (Sandbox Code Playgroud)

而在环境内部,我得到:

>>> pandas.__version__
'1.0.5'
Run Code Online (Sandbox Code Playgroud)

你知道如何解决这个问题吗?

python pip path requirements.txt

34
推荐指数
1
解决办法
7350
查看次数

无法在docker中重新创建Conda环境

我从全新安装的 miniconda3 创建了 conda 环境。

之后我将其导出,这是文件的内容(我唯一的额外安装是 Flask):

name: myenv
channels:
  - defaults
dependencies:
  - ca-certificates=2018.03.07=0
  - certifi=2018.11.29=py37_0
  - click=7.0=py37_0
  - flask=1.0.2=py37_1
  - itsdangerous=1.1.0=py37_0
  - jinja2=2.10=py37_0
  - libcxx=4.0.1=hcfea43d_1
  - libcxxabi=4.0.1=hcfea43d_1
  - libedit=3.1.20170329=hb402a30_2
  - libffi=3.2.1=h475c297_4
  - markupsafe=1.1.0=py37h1de35cc_0
  - ncurses=6.1=h0a44026_1
  - openssl=1.1.1a=h1de35cc_0
  - pip=18.1=py37_0
  - python=3.7.1=haf84260_7
  - readline=7.0=h1de35cc_5
  - setuptools=40.6.2=py37_0
  - sqlite=3.26.0=ha441bb4_0
  - tk=8.6.8=ha441bb4_0
  - werkzeug=0.14.1=py37_0
  - wheel=0.32.3=py37_0
  - xz=5.2.4=h1de35cc_4
  - zlib=1.2.11=h1de35cc_3
prefix: /Users/rossid/miniconda3/envs/phadmin
Run Code Online (Sandbox Code Playgroud)

现在我想要的是在文档图像中重新创建这个环境,所以我创建了这个 Dockefile

FROM continuumio/miniconda3
ADD * myappdir/
RUN conda env create -f /myappdir/environment.yml
Run Code Online (Sandbox Code Playgroud)

但它会失败:

Step 1/5 : FROM continuumio/miniconda3 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x docker miniconda dockerfile

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

在 conda 虚拟环境中以 pip 兼容格式创建 requirements.txt

我在 Windows 10 PC 上创建了一个 conda 虚拟环境来处理一个项目。要安装所需的包和依赖项,我使用conda install <package>而不是pip install <package>按照https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html# 中提到的最佳实践在环境中使用 pip

为了分发我的软件,我选择分别针对 conda 和非 conda 用户创建一个 environment.yml 和一个 requirements.txt 文件。我能够将当前的虚拟环境导出到 yml 文件中,这样 conda 用户就得到了照顾。但是,为了让非 conda 用户能够复制相同的环境,我需要创建和共享 requirements.txt 文件。可以使用创建此文件,conda list --export > requirements.txt但此格式与 pip 不兼容,其他用户无法pip install -r requirements.txt在其系统上使用。

使用pip freeze > requiremens.txt这里这里提到的解决方案。这意味着非 conda 用户可以简单地pip install -r requirements.txt在虚拟环境中执行,他们可以在没有 conda 的情况下使用 virtualenv 创建该虚拟环境。

但是,如果您生成上述样式的 requiremets.txt 文件,您最终会得到一个带有符号链接的 requirements.txt 文件。这是因为我们尝试为使用conda install而不是pip …

python pip requirements.txt conda

2
推荐指数
1
解决办法
3749
查看次数