Python 显然,康达找不到一些非常常见的软件包:我做错了什么?

Python 显然,康达找不到一些非常常见的软件包:我做错了什么?,python,package,installation,conda,Python,Package,Installation,Conda,环境:我在一台高Sierra的Mac电脑上使用conda 4.6.7 我有一些传统的Python代码,首先我想运行它。当然,因为这是研究代码,我没想到会找到新奇的东西!!比如一个测试套件,但我希望至少能提供一个requirements.txt文件。白日梦。在对组成项目的各种文件的导入列表进行了灰显后,我列出了以下要安装的软件包列表: conda install os sys math time scipy numpy zipfile urllib.request shutil PIL skima

环境:我在一台高Sierra的Mac电脑上使用conda 4.6.7

我有一些传统的Python代码,首先我想运行它。当然,因为这是研究代码,我没想到会找到新奇的东西!!比如一个测试套件,但我希望至少能提供一个requirements.txt文件。白日梦。在对组成项目的各种文件的导入列表进行了灰显后,我列出了以下要安装的软件包列表:

conda install os sys math time scipy numpy zipfile urllib.request shutil PIL skimage config itertools logging json re random collections matplotlib visualize glob random datetime tensorflow keras colorsys IPython
我给康达打了一个电话,因为

你应该

同时在此环境中安装所需的所有程序 同时。一次安装一个程序可能导致依赖关系 冲突

顺便问一下,有没有办法在命令中包含换行符,或者换行符必须那么长

然而,康达给了我一个错误:

PackagesNotFoundError: The following packages are not available from current channels:

  - config
  - math
  - visualize
  - datetime
  - urllib.request
  - re
  - logging
  - json
  - os
  - glob
  - collections
  - sys
  - colorsys
  - itertools
  - random
  - zipfile
  - time
  - shutil
  - skimage
这对我来说似乎很奇怪,因为至少其中一些是很常见的。以下是my conda环境中的包:

# Name                    Version                   Build  Channel
ca-certificates           2019.1.23                     0
certifi                   2018.11.29               py36_0
libcxx                    4.0.1                hcfea43d_1
libcxxabi                 4.0.1                hcfea43d_1
libedit                   3.1.20181209         hb402a30_0
libffi                    3.2.1                h475c297_4
ncurses                   6.1                  h0a44026_1
openssl                   1.1.1b               h1de35cc_0
pip                       19.0.3                   py36_0
python                    3.6.8                haf84260_0
readline                  7.0                  h1de35cc_5
setuptools                40.8.0                   py36_0
sqlite                    3.26.0               ha441bb4_0
tk                        8.6.8                ha441bb4_0
wheel                     0.33.1                   py36_0
xz                        5.2.4                h1de35cc_4
zlib                      1.2.11               h1de35cc_3

如何解决上述问题?

这些软件包中的大多数,例如数学、随机、itertools。。。。是的一部分,因此应可用于任何标准python安装,即使它们未显示在conda列表的输出中。因此,康达不会单独安装这些设备,也不会将其包含在其软件包列表中


您尝试的其他问题是包的名称。例如,您正在尝试安装scikit映像,但使用了安装导入后使用的缩写名称skimage,例如导入skimage。如果您使用conda安装scikit映像,conda将找到它。

尝试通过shell脚本执行此操作。然后转到requirements.txt所在的文件夹

while read requirement; do conda install --yes $requirement; done < requirements.txt

没有requirements.txt文件。作者们没有想到要写一本。这是研究人员的代码,编写得不是特别好。您只需将所有名称添加到一个txt文件中即可。虽然,你可以通过简单的conda安装anaconda来摆脱其中的一半,这将安装一大堆软件包,当你导入时,你会看到丢失了什么是的,我只是通过对文件进行GREPping得到了软件包名,因此它们都是import语句。这可能就是为什么这个scikit映像包是这样命名的。还有其他名字让你觉得奇怪吗?我唯一不知道的是视觉化。这可能是因为它只是我从未见过的一个晦涩难懂的包,或者它是您正在使用的遗留代码的一部分。然后是配置问题,您可以通过谷歌搜索python导入配置来解决这个问题。除此之外,我相信这些都在标准库中
conda activate <environmentname>
pip install -r requirements.txt
conda install anaconda