从常见包上的 YML 文件阻塞创建 Anaconda 环境 - os、pip、pandas
Creating Anaconda Environment from YML File Choking on Common Packages - os, pip, pandas
为什么 anaconda 在从 YML 文件创建环境时会阻塞普通包? Anaconda 在 root 中预安装了这些软件包(或者我是这么认为的?)
YML 文件:
---
name: rasterenv
channels:
- conda-forge
dependencies:
- gdal>=2.2.3
- rasterio
- cython
- jupyter
- matplotlib
- numpy
- pyproj
- shapely
- rasterio
- pandas
- geopandas
- os
- matplotlib
- seaborn
- fiona
- OSMnx
- pip:
- pygeotools
- pygeoprocessing
正在尝试构建文件:conda env create -f path/to/file
如果我用像 rasterio 这样不常见的包创建一个环境,它似乎可以工作。但是,我想要一个环境!这里有什么?
错误是:
ResolvePackageNotFound:
- os
如果我从列表中删除 os
,则错误变为:
ResolvePackageNotFound:
- matplotlib
正如@sinoroc 在评论中指出的那样,os
是Python 标准库的一部分,不应列为依赖项。 (当您确实将其定义为依赖项时,Python 将在所有可用存储库 [PyPI 或 anaconda.org 在这种情况下] 上查找名为 os
的包,但不会找到它.)
您可以通过查看此处的文档来了解哪些包是标准库的一部分:https://docs.python.org/3/library/
(还有一些关于如何确定特定包是否是标准库的一部分的问题,例如How to check if a module/library/package is part of the python standard library?)当你创建一个新环境时,标准库中的包是唯一的默认情况下可用。还需要安装其他任何东西。
此外,您的 yaml 文件中有两个包列出了两次(rasterio
和 matplotlib
),这让我认为您手动创建了该文件。您可以通过激活环境和 运行 conda env export > environment.yml
来生成一个 conda 环境文件,这将创建一个名为 environment.yml
的文件,其中包含所有必需的依赖项。
为什么 anaconda 在从 YML 文件创建环境时会阻塞普通包? Anaconda 在 root 中预安装了这些软件包(或者我是这么认为的?)
YML 文件:
---
name: rasterenv
channels:
- conda-forge
dependencies:
- gdal>=2.2.3
- rasterio
- cython
- jupyter
- matplotlib
- numpy
- pyproj
- shapely
- rasterio
- pandas
- geopandas
- os
- matplotlib
- seaborn
- fiona
- OSMnx
- pip:
- pygeotools
- pygeoprocessing
正在尝试构建文件:conda env create -f path/to/file
如果我用像 rasterio 这样不常见的包创建一个环境,它似乎可以工作。但是,我想要一个环境!这里有什么?
错误是:
ResolvePackageNotFound:
- os
如果我从列表中删除 os
,则错误变为:
ResolvePackageNotFound:
- matplotlib
正如@sinoroc 在评论中指出的那样,os
是Python 标准库的一部分,不应列为依赖项。 (当您确实将其定义为依赖项时,Python 将在所有可用存储库 [PyPI 或 anaconda.org 在这种情况下] 上查找名为 os
的包,但不会找到它.)
您可以通过查看此处的文档来了解哪些包是标准库的一部分:https://docs.python.org/3/library/ (还有一些关于如何确定特定包是否是标准库的一部分的问题,例如How to check if a module/library/package is part of the python standard library?)当你创建一个新环境时,标准库中的包是唯一的默认情况下可用。还需要安装其他任何东西。
此外,您的 yaml 文件中有两个包列出了两次(rasterio
和 matplotlib
),这让我认为您手动创建了该文件。您可以通过激活环境和 运行 conda env export > environment.yml
来生成一个 conda 环境文件,这将创建一个名为 environment.yml
的文件,其中包含所有必需的依赖项。