我正在CentOS 7.2上设置离线conda环境。
但是,每次尝试将依赖于Python的软件包作为依赖项来创建新环境时(甚至是仅创建 nacked Python env时)。 Conda与Python发生冲突,我猜这是指OS上可用的Python。
[root@test01 ~]# conda search python
Loading channels: done
# Name Version Build Channel
python 3.6.3 h6c0c0dc_5 repo_Python
python 3.7.1 h0371630_7 repo_Python
[root@test01 ~]# conda create -n env_test1 python=3.6.3
Collecting package metadata: done
Solving environment: failed
UnsatisfiableError: The following specifications were found to be in conflict:
- python=3.6.3
Use "conda search <package> --info" to see the dependencies for each package.
[root@test01 ~]# conda create -n env_test2 setuptools
Collecting package metadata: done
Solving environment: failed
UnsatisfiableError: The following specifications were found to be in conflict:
- setuptools
Use "conda search <package> --info" to see the dependencies for each package.
[root@test01 ~]# conda search openssl
Loading channels: done
# Name Version Build Channel
openssl 1.0.2p h14c3975_0 repo_Python
openssl 1.1.1a h7b6447c_0 repo_Python
[root@test01 ~]# conda create -n env_test3 openssl
Collecting package metadata: done
Solving environment: done
## Package Plan ##
environment location: /opt/miniconda3/envs/env_test3
added / updated specs:
- openssl
The following packages will be downloaded:
package | build
---------------------------|-----------------
ca-certificates-2018.12.5 | 0 123 KB
libgcc-ng-8.2.0 | hdf63c60_1 7.6 MB
openssl-1.1.1a | h7b6447c_0 5.0 MB
------------------------------------------------------------
Total: 12.8 MB
The following NEW packages will be INSTALLED:
ca-certificates repo_Python/linux-64::ca-certificates-2018.12.5-0
libgcc-ng repo_Python/linux-64::libgcc-ng-8.2.0-hdf63c60_1
openssl repo_Python/linux-64::openssl-1.1.1a-h7b6447c_0
Proceed ([y]/n)?
有关信息:
# conda info
active environment : None
shell level : 0
user config file : /root/.condarc
populated config files : /root/.condarc
conda version : 4.6.2
conda-build version : 3.17.8
python version : 3.7.1.final.0
base environment : /opt/miniconda3 (writable)
channel URLs : http://test01.<DN>/repo_Python/linux-64
http://test01.<DN>/repo_Python/noarch
package cache : /opt/miniconda3/pkgs
/root/.conda/pkgs
envs directories : /opt/miniconda3/envs
/root/.conda/envs
platform : linux-64
user-agent : conda/4.6.2 requests/2.21.0 CPython/3.7.1 Linux/3.10.0-514.2.2.el7.x86_64 rhel/7.2 glibc/2.17
UID:GID : 0:0
netrc file : None
offline mode : False
这是我的详细输出:
[root@test01 ~]# conda create -n env_test11 python=3.6.3 -vvv
DEBUG conda.gateways.logging:set_verbosity(148): verbosity set to 3
TRACE conda.gateways.disk.test:file_path_is_writable(23): checking path is writable /opt/miniconda3/pkgs/urls.txt
DEBUG conda.core.package_cache_data:_check_writable(237): package cache directory '/opt/miniconda3/pkgs' writable: True
Solving environment: ...working... DEBUG conda.core.solve:solve_final_state(142): solving prefix /opt/miniconda3/envs/env_test11
specs_to_remove: frozenset()
specs_to_add: frozenset({MatchSpec(name=LowerStrMatch('python'), version=VersionSpec('3.6.3.*'))})
prune: False
TRACE conda.gateways.disk.test:file_path_is_writable(23): checking path is writable /root/.conda/pkgs/urls.txt
DEBUG conda.core.package_cache_data:_check_writable(237): package cache directory '/root/.conda/pkgs' writable: True
DEBUG conda.core.subdir_data:_load(222): Local cache timed out for http://test01.<DN>/repo_Python/noarch at /opt/miniconda3/pkgs/cache/f3c8ac6e.json
DEBUG urllib3.util.retry:from_int(210): Converted retries value: 3 -> Retry(total=3, connect=None, read=None, redirect=None, status=None)
DEBUG urllib3.connectionpool:_new_conn(205): Starting new HTTP connection (1): test01.<DN>:80
DEBUG urllib3.connectionpool:_make_request(393): http://test01.<DN>:80 "GET /repo_Python/noarch/repodata.json HTTP/1.1" 304 0
DEBUG conda.core.subdir_data:fetch_repodata_remote_request(439):
>>GET /repo_Python/noarch/repodata.json HTTP
> User-Agent: conda/4.5.12 requests/2.21.0 CPython/3.7.1 Linux/3.10.0-514.2.2.el7.x86_64 rhel/7.2 glibc/2.17
> Accept: */*
> Accept-Encoding: gzip, deflate, compress, identity
> Connection: keep-alive
> Content-Type: application/json
> If-Modified-Since: Wed, 06 Feb 2019 14:31:50 GMT
> If-None-Match: "67-5813a961bdfa9"
<<HTTP 304 Not Modified
< Date: Mon, 11 Feb 2019 09:32:22 GMT
< ETag: "67-5813a961bdfa9"
< Keep-Alive: timeout=5, max=100
< Server: Apache/2.4.6 (Red Hat Enterprise Linux)
< Connection: Keep-Alive
< Elapsed: 00:00.003788
DEBUG conda.core.subdir_data:_load(230): 304 NOT MODIFIED for 'http://test01.<DN>/repo_Python/noarch'. Updating mtime and loading from disk
TRACE conda.gateways.disk.update:touch(82): touching path /opt/miniconda3/pkgs/cache/f3c8ac6e.json
DEBUG conda.core.subdir_data:_read_pickled(293): found pickle file /opt/miniconda3/pkgs/cache/f3c8ac6e.q
DEBUG conda.core.subdir_data:_load(222): Local cache timed out for http://test01.<DN>/repo_Python/linux-64 at /opt/miniconda3/pkgs/cache/c8dfbf8f.json
DEBUG urllib3.connectionpool:_make_request(393): http://test01.<DN>:80 "GET /repo_Python/linux-64/repodata.json HTTP/1.1" 304 0
DEBUG conda.core.subdir_data:fetch_repodata_remote_request(439):
>>GET /repo_Python/linux-64/repodata.json HTTP
> User-Agent: conda/4.5.12 requests/2.21.0 CPython/3.7.1 Linux/3.10.0-514.2.2.el7.x86_64 rhel/7.2 glibc/2.17
> Accept: */*
> Accept-Encoding: gzip, deflate, compress, identity
> Connection: keep-alive
> Content-Type: application/json
> If-Modified-Since: Fri, 08 Feb 2019 10:58:26 GMT
> If-None-Match: "119dc-5815fd6a30c1a"
<<HTTP 304 Not Modified
< Date: Mon, 11 Feb 2019 09:32:22 GMT
< ETag: "119dc-5815fd6a30c1a"
< Keep-Alive: timeout=5, max=99
< Server: Apache/2.4.6 (Red Hat Enterprise Linux)
< Connection: Keep-Alive
< Elapsed: 00:00.001007
DEBUG conda.core.subdir_data:_load(230): 304 NOT MODIFIED for 'http://test01.<DN>/repo_Python/linux-64'. Updating mtime and loading from disk
TRACE conda.gateways.disk.update:touch(82): touching path /opt/miniconda3/pkgs/cache/c8dfbf8f.json
DEBUG conda.core.subdir_data:_read_pickled(293): found pickle file /opt/miniconda3/pkgs/cache/c8dfbf8f.q
DEBUG conda.resolve:bad_installed(763): Checking if the current environment is consistent
DEBUG conda.core.solve:solve_final_state(224): inconsistent dists: None
TRACE conda.core.solve:solve_final_state(262): specs_map with targets: OrderedDict()
DEBUG conda.resolve:get_reduced_index(252): Retrieving packages for:
- python=3.6.3
DEBUG conda.resolve:filter_group(277): python: pruned from 2 -> 1
DEBUG conda.resolve:filter_group(277): libgcc-ng: pruned from 2 -> 1
DEBUG conda.resolve:filter_group(277): libstdcxx-ng: pruned from 2 -> 1
DEBUG conda.resolve:filter_group(277): ncurses: pruned from 1 -> 0
DEBUG conda.resolve:gen_clauses(554): gen_clauses returning with clause count: 159
DEBUG conda.resolve:generate_spec_constraints(559): generate_spec_constraints returning with clause count: 159
DEBUG conda.common.logic:sat(435): Invoking SAT with clause count: 160
DEBUG conda.resolve:generate_spec_constraints(559): generate_spec_constraints returning with clause count: 159
DEBUG conda.common.logic:sat(435): Invoking SAT with clause count: 160
DEBUG conda.core.solve:solve_final_state(333): conflicting specs:
- python=3.6.3
DEBUG conda.core.solve:solve_final_state(343): final specs to add:
- python=3.6.3
DEBUG conda.resolve:solve(879): Solving for:
- python=3.6.3
DEBUG conda.resolve:gen_clauses(554): gen_clauses returning with clause count: 159
DEBUG conda.resolve:generate_spec_constraints(559): generate_spec_constraints returning with clause count: 159
DEBUG conda.common.logic:sat(435): Invoking SAT with clause count: 160
DEBUG conda.resolve:generate_spec_constraints(559): generate_spec_constraints returning with clause count: 159
DEBUG conda.common.logic:sat(435): Invoking SAT with clause count: 160
failed
Traceback (most recent call last):
File "/opt/miniconda3/lib/python3.7/site-packages/conda/exceptions.py", line 819, in __call__
return func(*args, **kwargs)
File "/opt/miniconda3/lib/python3.7/site-packages/conda/cli/main.py", line 78, in _main
exit_code = do_call(args, p)
File "/opt/miniconda3/lib/python3.7/site-packages/conda/cli/conda_argparse.py", line 77, in do_call
exit_code = getattr(module, func_name)(args, parser)
File "/opt/miniconda3/lib/python3.7/site-packages/conda/cli/main_create.py", line 11, in execute
install(args, parser, 'create')
File "/opt/miniconda3/lib/python3.7/site-packages/conda/cli/install.py", line 235, in install
force_reinstall=context.force,
File "/opt/miniconda3/lib/python3.7/site-packages/conda/core/solve.py", line 518, in solve_for_transaction
force_remove, force_reinstall)
File "/opt/miniconda3/lib/python3.7/site-packages/conda/core/solve.py", line 451, in solve_for_diff
final_precs = self.solve_final_state(deps_modifier, prune, ignore_pinned, force_remove)
File "/opt/miniconda3/lib/python3.7/site-packages/conda/core/solve.py", line 344, in solve_final_state
solution = r.solve(tuple(final_environment_specs)) # return value is List[dist]
File "/opt/miniconda3/lib/python3.7/site-packages/conda/common/io.py", line 46, in decorated
return f(*args, **kwds)
File "/opt/miniconda3/lib/python3.7/site-packages/conda/resolve.py", line 917, in solve
self.find_conflicts(specs)
File "/opt/miniconda3/lib/python3.7/site-packages/conda/resolve.py", line 244, in find_conflicts
raise UnsatisfiableError(bad_deps)
conda.exceptions.UnsatisfiableError: The following specifications were found to be in conflict:
- python=3.6.3
Use "conda info <package>" to see the dependencies for each package.
答案 0 :(得分:1)
我终于发现出了什么问题! 这个问题实际上很简单: 当我的存储库中只有ncurses-6.1- he6710b0 _1.tar.bz2时,创建新的python env需要ncurses-6.1- hf484d3e _0.tar.bz2 ...
我在回购中获得该子版本后,一切正常!
我认为错误消息有些混乱,可以改进。