环境:我在具有高Sierra的Mac上使用conda
4.6.7。
我有一些旧的Python代码,首先我想运行它。当然,由于这是研究代码,所以我没想到会找到诸如测试套件之类的“花哨的东西(!!)”,但是我希望至少可以提供一个requirements.txt
文件。白日梦。在对组成项目的各个文件中的import
列表进行GREP删除后,我想到了要安装的以下软件包列表:
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
我把所有这些都放在一个对conda
的调用中,因为根据
您应该
在此环境中安装所需的所有程序。 同时。一次安装1个程序可能会导致依赖性 冲突。
(顺便说一句,有没有办法在命令中包含换行符,还是必须那么长?)
但是,conda
给了我错误:
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
在我看来这很奇怪,因为至少其中一些非常普遍。这些是我的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
我该如何解决以上问题?
答案 0 :(得分:3)
这些软件包中的大多数(例如math
,random
,itertools
....)都是python standard library的一部分,因此,该软件包的任何标准安装都应该可用python(即使它们未显示在conda list
的输出中)。因此,Conda不会单独安装这些组件,也不会在软件包列表中包含它们。
您尝试的其他问题与软件包名称有关。例如,您尝试安装scikit-image
,但使用缩写形式skimage
(在安装后用于导入, eg import skimage
)。如果您使用conda install scikit-image
,conda会找到它。
答案 1 :(得分:0)
尝试通过Shell脚本执行此操作。转到您的requirements.txt所在的文件夹,然后
while read requirement; do conda install --yes $requirement; done < requirements.txt
否则,您不必一定要使用conda-只需进入环境
conda activate <environmentname>
pip install -r requirements.txt
用于标准包和其他一些包
conda install anaconda