Object-C. _cmd用法

Objective-C中_cmd参数解析
_cmd参数在Objective-C中用于标识方法的选择器。通过NSStringFromSelector(_cmd)可以获取当前方法名,便于追踪方法调用顺序或定位崩溃点。此外,结合performSelector:withObject:afterDelay:可实现定时调用自身的效果。

_cmd是隐藏的参数,代表当前方法的selector,他和self一样都是每个方法调用时都会传入的参数,动态运行时会提及如何传的这两个参数。

比如这样一个语句。

NSLog(@"%@",NSStringFromSelector(_cmd));

执行这个方法就会输出方法的名称, 这样做是为了跟踪查看方法调用的前后顺序,或者想看看程序到底在那个方法内部崩溃的!


另外,

[self performSelector:_cmd withObject:nil afterDelay:arc4random()%3 + 1];


这样的话,每隔3到4秒调用本身一次,类似定时器效果。
#include "slp_model.h" #include "nsd_common.h" #include "arp_scanner.h" #include "arpd_action.h" #include "arpd_dms.h" /* ---------- DMS ubus 方法的注册 ------------ */ /* 注册ubus具体方法 */ LOCAL DMS_CMD_METHOD arpd_method[] = { DMS_CMD_METHOD_DESC("get_conf", dms_arpd_get), DMS_CMD_METHOD_DESC("set_conf", dms_arpd_set), DMS_CMD_METHOD_DESC("start_scan", dms_arpd_start), DMS_CMD_METHOD_DESC("stop_scan", dms_arpd_stop), DMS_CMD_METHOD_DESC("get_scan_status", dms_arpd_status), DMS_CMD_METHOD_DESC("get_scan_result", dms_arpd_result), DMS_CMD_METHOD_DESC("clear_result", dms_arpd_clear), }; LOCAL DMS_CMD_OBJ_CMD arpd_cmd[] = { DMS_CMD_OBJ_CMD_DESC("arpd", arpd_method), }; /* 注册ubus模块 */ LOCAL DMS_CMD_OBJ arpd_call_obj = DMS_CMD_OBJ_DESC("arpd", arpd_cmd); LOCAL int arpd_cmd_call_handle(dms_handler_t *handler, U8 *mbuf, U32 mlen, U32 sender_dms_id) { return dms_cmd_msg_parse(handler, mbuf, mlen, sender_dms_id, &arpd_call_obj); } /* ---------- 模块的注册与基础函数 ------------ */ LOCAL S32 arpdmod_stop() { /* 取消注册的DS方法 */ // ds_unregister_get_json("arpd_config", "arpd_info", "arpd_info", get_arpd_info); // ds_unregister_set_json("arpd_config", "arpd_info", "arpd_info", set_arpd_info); ds_unregister_action("arpd", "start_scan", arpd_start_scan); ds_unregister_action("arpd", "stop_scan", arpd_stop_scan); ds_unregister_action("arpd", "get_scan_status", arpd_get_scan_status); ds_unregister_action("arpd", "get_scan_result", arpd_get_scan_result); ds_unregister_action("arpd", "clear_result", arpd_clear_result); /* 取消注册的dms ubus调试方法 */ msg_detach_handler(MSGID_DMS_CMD, arpd_cmd_call_handle); /* 最后停止扫描 */ arpd_stop_scan(); return OK; } LOCAL S32 arpdmod_start() { arpd_start_scan(); return OK; } LOCAL S32 arpdmod_reload() { return OK; } LOCAL S32 arpdmod_check() { return OK; } LOCAL S32 arpdmod_init() { /* ------- DS TDCP接口 ---------- */ /* 可以复写get/set json函数 */ // ds_register_get_json("arpd_config", "arpd_info", "arpd_info", get_arpd_info); // ds_register_set_json("arpd_config", "arpd_info", "arpd_info", set_arpd_info); /* 注册do方法函数 */ ds_register_action("arpd", "start_scan", arpd_start_scan); ds_register_action("arpd", "stop_scan", arpd_stop_scan); ds_register_action("arpd", "get_scan_status", arpd_get_scan_status); ds_register_action("arpd", "get_scan_result", arpd_get_scan_result); ds_register_action("arpd", "clear_result", arpd_clear_result); /* ------- DMS ubus接口 ---------- */ /* 注册ubus call调试方法 */ msg_attach_handler(MSGID_DMS_CMD, arpd_cmd_call_handle); return OK; } LOCAL void arpd_main() { /* 声明基础函数 */ DS_MOD_DESC arpd_module = DS_STRUCT_MOD("arpdmod", arpdmod_init, NULL, NULL, arpdmod_start, arpdmod_stop, NULL, NULL); /* 向ds注册模块 */ MODULE *module_node = ds_register_module("arpdmod", &arpd_module); NSD_ASSERT(NULL != module_node); } NSD_INIT(arpd_main);#include "arp_scanner.h" #include "arpd_action.h" #include "json_api.h" // 开始扫描 int arpd_start_scan(struct _DS_HANDLE_CONTEXT *context, JSON_OBJPTR param) { // 创建响应JSON对象 context->res_obj = jso_new_obj(); if (NULL == context->res_obj) { DS_ERROR("Create new json object failed."); context->error_code = SLP_ESYSTEM; return ERROR; } // 调用arp_scanner_start启动扫描 int start_result = arp_scanner_start(); if (start_result == OK) { jso_add_string(context->res_obj, "status", "success"); jso_add_string(context->res_obj, "message", "Scan started successfully"); // 添加扫描配置信息 pthread_mutex_lock(&g_scanner.lock); jso_add_bool(context->res_obj, "enabled", g_scanner.config.enabled); jso_add_int(context->res_obj, "scan_interval", g_scanner.config.scan_interval); jso_add_int(context->res_obj, "validity_period", g_scanner.config.validity_period); char start_ip_str[MAX_IP_LEN], end_ip_str[MAX_IP_LEN]; int_to_ip(g_scanner.config.start_ip, start_ip_str); int_to_ip(g_scanner.config.end_ip, end_ip_str); jso_add_string(context->res_obj, "start_ip", start_ip_str); jso_add_string(context->res_obj, "end_ip", end_ip_str); jso_add_string(context->res_obj, "interface", g_scanner.config.interface); // 添加当前状态 jso_add_bool(context->res_obj, "is_scanning", g_scanner.scanning); jso_add_int(context->res_obj, "current_entry_count", g_scanner.entry_count); pthread_mutex_unlock(&g_scanner.lock); } else { jso_add_string(context->res_obj, "status", "error"); // 根据错误码提供详细错误信息 switch (start_result) { case ERROR_BUSY: jso_add_string(context->res_obj, "message", "Scan already in progress"); break; case ERROR_DISABLED: jso_add_string(context->res_obj, "message", "Scanner is disabled in configuration"); break; case ERROR_INVAL: jso_add_string(context->res_obj, "message", "Invalid IP range in configuration"); break; case ERROR_SOCKET: jso_add_string(context->res_obj, "message", "Failed to initialize network socket"); break; case ERROR_THREAD: jso_add_string(context->res_obj, "message", "Failed to create scan thread"); break; default: jso_add_string(context->res_obj, "message", "Failed to start scan"); } jso_add_int(context->res_obj, "error_code", start_result); } return start_result; } int arpd_stop_scan(struct _DS_HANDLE_CONTEXT *context, JSON_OBJPTR param) { // 创建响应JSON对象 context->res_obj = jso_new_obj(); if (NULL == context->res_obj) { DS_ERROR("Create JSON object failed"); // 翻译:创建JSON对象失败 context->error_code = SLP_ESYSTEM; return ERROR; } // 获取当前扫描状态快照 pthread_mutex_lock(&g_scanner.lock); BOOL was_scanning = g_scanner.scanning; int entry_count = g_scanner.entry_count; time_t last_scan_time = g_scanner.last_scan_time; char interface_name[IFNAMSIZ]; strncpy(interface_name, g_scanner.config.interface, IFNAMSIZ); pthread_mutex_unlock(&g_scanner.lock); // 执行停止操作 int stop_result = arp_scanner_stop(); // 构建响应 jso_add_string(context->res_obj, "status", (stop_result == OK) ? "success" : "error"); jso_add_int(context->res_obj, "error_code", stop_result); // 添加详细状态信息 if (stop_result == OK) { jso_add_string(context->res_obj, "action", was_scanning ? "Scan stopped" : "No active scan to stop"); } else { // 根据错误码提供详细错误信息 switch (stop_result) { case ERROR_NOT_RUNNING: jso_add_string(context->res_obj, "message", "Scanner not running"); break; case ERROR_TIMEOUT: jso_add_string(context->res_obj, "message", "Stop operation timed out, forced cancellation"); break; case ERROR_THREAD: jso_add_string(context->res_obj, "message", "Thread operation failed"); break; default: jso_add_string(context->res_obj, "message", "Failed to stop scan"); } } // 添加扫描结果统计 jso_add_bool(context->res_obj, "was_scanning", was_scanning); jso_add_int(context->res_obj, "entry_count", entry_count); // 添加时间信息 char last_scan_str[32]; if (last_scan_time > 0) { format_timestamp(last_scan_time, last_scan_str); jso_add_string(context->res_obj, "last_scan_time", last_scan_str); } else { jso_add_string(context->res_obj, "last_scan_time", "Never scanned"); } // 添加网络接口信息 jso_add_string(context->res_obj, "interface", interface_name); return stop_result; } // 获取扫描状态 int arpd_get_scan_status(struct _DS_HANDLE_CONTEXT *context, JSON_OBJPTR param) { char last_scan_time[32]; /* 创建回复数据的json对象 */ context->res_obj = jso_new_obj(); if (NULL == context->res_obj) { DS_ERROR("Create new json object failed."); context->error_code = SLP_ESYSTEM; return ERROR; } pthread_mutex_lock(&g_scanner.lock); jso_add_bool(context->res_obj, "Enabled", g_scanner.config.enabled); jso_add_bool(context->res_obj, "Scanning", g_scanner.scanning); jso_add_int(context->res_obj, "Entry Count", g_scanner.entry_count); format_timestamp(g_scanner.last_scan_time, last_scan_time); jso_add_string(context->res_obj, "Last Scan Time", last_scan_time); pthread_mutex_unlock(&g_scanner.lock); return 0; } // 获取扫描结果(JSON格式) int arpd_get_scan_result(struct _DS_HANDLE_CONTEXT *context, JSON_OBJPTR param) { pthread_mutex_lock(&g_scanner.lock); // 创建根JSON对象 context->res_obj = jso_new_obj(); if (NULL == context->res_obj) { DS_ERROR("Create new json object failed."); pthread_mutex_unlock(&g_scanner.lock); context->error_code = SLP_ESYSTEM; return ERROR; } // 创建存储条目的JSON数组 JSON_OBJPTR entries_array = jso_new_array(); if (NULL == entries_array) { DS_ERROR("Create entries array failed."); pthread_mutex_unlock(&g_scanner.lock); context->error_code = SLP_ESYSTEM; return ERROR; } jso_obj_add(context->res_obj, "entries", entries_array); // 遍历扫描结果并转换为JSON对象 for (int i = 0; i < g_scanner.entry_count; i++) { char ip_str[MAX_IP_LEN]; char first_seen_str[32]; char last_seen_str[32]; int_to_ip(g_scanner.entries[i].ip, ip_str); format_timestamp(g_scanner.entries[i].first_seen, first_seen_str); format_timestamp(g_scanner.entries[i].last_seen, last_seen_str); // 创建单条目的JSON对象 JSON_OBJPTR entry_obj = jso_new_obj(); if (entry_obj) { jso_add_string(entry_obj, "ip", ip_str); jso_add_string(entry_obj, "mac", g_scanner.entries[i].mac); jso_add_string(entry_obj, "first_seen", first_seen_str); jso_add_string(entry_obj, "last_seen", last_seen_str); jso_array_add(entries_array, entry_obj); // 添加到数组 } } // 添加统计信息 jso_add_int(context->res_obj, "total_entries", g_scanner.entry_count); // 格式化最后扫描时间 char last_scan_str[32] = "never scan"; if (g_scanner.last_scan_time > 0) { struct tm *tm_info = localtime(&g_scanner.last_scan_time); if (tm_info) { strftime(last_scan_str, sizeof(last_scan_str), "%Y-%m-%d %H:%M:%S", tm_info); } } jso_add_string(*rply_obj, "last_scan_time", last_scan_str); pthread_mutex_unlock(&g_scanner.lock); return 0; } // 辅助函数:格式化时间戳 void format_timestamp(time_t timestamp, char *buffer) { if (timestamp == 0) { strcpy(buffer, "N/A"); return; } struct tm *tm_info = localtime(&timestamp); strftime(buffer, 32, "%Y-%m-%d %H:%M:%S", tm_info); } int arpd_clear_result(struct _DS_HANDLE_CONTEXT *context, JSON_OBJPTR param) { // 创建响应JSON对象 context->res_obj = jso_new_obj(); if (NULL == context->res_obj) { DS_ERROR("Create new json object failed."); context->error_code = SLP_ESYSTEM; return ERROR; } pthread_mutex_lock(&g_scanner.lock); // 记录清除前的状态 int cleared_count = g_scanner.entry_count; time_t last_scan_time = g_scanner.last_scan_time; // 执行清除操作 g_scanner.entry_count = 0; g_scanner.last_scan_time = 0; pthread_mutex_unlock(&g_scanner.lock); // 构建响应 jso_add_string(context->res_obj, "status", "success"); jso_add_string(context->res_obj, "action", "ARP results cleared"); jso_add_int(context->res_obj, "cleared_entries", cleared_count); // 添加时间信息 char last_scan_str[32]; if (last_scan_time > 0) { format_timestamp(last_scan_time, last_scan_str); jso_add_string(context->res_obj, "last_scan_time_before_clear", last_scan_str); } else { jso_add_string(context->res_obj, "last_scan_time_before_clear", "Never scanned"); } // 添加当前状态 jso_add_int(context->res_obj, "current_entry_count", 0); jso_add_string(context->res_obj, "current_last_scan_time", "No data"); return 0; } 这里调用arpd_start_scan和arpd_stop_scan有问题吗
最新发布
08-29
(base) C:\Users\60925>python --v unknown option --v usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Try `python -h' for more information. (base) C:\Users\60925>python --version Python 3.7.1 (base) C:\Users\60925> (base) C:\Users\60925>conda install conda=4.8 Solving environment: failed CondaValueError: Malformed version string '~': invalid character(s). (base) C:\Users\60925>conda config --show-sources ==> C:\Users\60925\.condarc <== show_channel_urls: True (base) C:\Users\60925>conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main (base) C:\Users\60925>conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free (base) C:\Users\60925>conda config --set show_channel_urls true (base) C:\Users\60925>conda config --show add_anaconda_token: True add_pip_as_python_dependency: True aggressive_update_packages: - ca-certificates - certifi - openssl allow_non_channel_urls: False allow_softlinks: False always_copy: False always_softlink: False always_yes: None anaconda_upload: None auto_update_conda: True changeps1: True channel_alias: https://conda.anaconda.org channel_priority: True channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - defaults client_ssl_cert: None client_ssl_cert_key: None clobber: False create_default_packages: [] custom_channels: pkgs/main: https://repo.anaconda.com pkgs/free: https://repo.anaconda.com pkgs/r: https://repo.anaconda.com pkgs/pro: https://repo.anaconda.com pkgs/msys2: https://repo.anaconda.com custom_multichannels: defaults: ["https://repo.anaconda.com/pkgs/main", "https://repo.anaconda.com/pkgs/free", "https://repo.anaconda.com/pkgs/r", "https://repo.anaconda.com/pkgs/pro", "https://repo.anaconda.com/pkgs/msys2"] local: [] default_channels: - https://repo.anaconda.com/pkgs/main - https://repo.anaconda.com/pkgs/free - https://repo.anaconda.com/pkgs/r - https://repo.anaconda.com/pkgs/pro - https://repo.anaconda.com/pkgs/msys2 disallowed_packages: [] download_only: False envs_dirs: - D:\ruanjian\anaconda3\envs - C:\Users\60925\AppData\Local\conda\conda\envs - C:\Users\60925\.conda\envs extra_safety_checks: False force: False json: False local_repodata_ttl: 1 max_shlvl: 2 migrated_channel_aliases: [] no_dependencies: False non_admin_enabled: True notify_outdated_conda: True offline: False override_channels_enabled: True path_conflict: clobber pinned_packages: [] pkgs_dirs: - D:\ruanjian\anaconda3\pkgs - C:\Users\60925\AppData\Local\conda\conda\pkgs proxy_servers: {} quiet: False remote_connect_timeout_secs: 9.15 remote_max_retries: 3 remote_read_timeout_secs: 60.0 report_errors: None rollback_enabled: True safety_checks: warn shortcuts: True show_channel_urls: True ssl_verify: True track_features: [] use_index_cache: False use_pip: True verbosity: 0 whitelist_channels: [] (base) C:\Users\60925>conda config --remove-key channels CondaKeyError: 'channels': key 'channels' is not in the config file (base) C:\Users\60925>conda config --show channels channels: - defaults (base) C:\Users\60925>conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ (base) C:\Users\60925>conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ (base) C:\Users\60925>conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ (base) C:\Users\60925>conda config --show channels channels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - defaults (base) C:\Users\60925>conda config --get channels --add channels 'defaults' # lowest priority --add channels 'http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/' --add channels 'http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/' --add channels 'http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/' # highest priority (base) C:\Users\60925>conda install conda=23.10.0 Solving environment: failed CondaValueError: Malformed version string '~': invalid character(s). (base) C:\Users\60925>conda install conda=4.8 Solving environment: failed CondaValueError: Malformed version string '~': invalid character(s). (base) C:\Users\60925>conda --version conda 4.5.12 (base) C:\Users\60925>conda update anaconda Solving environment: failed CondaValueError: Malformed version string '~': invalid character(s). (base) C:\Users\60925>conda update --all Solving environment: failed CondaValueError: Malformed version string '~': invalid character(s). (base) C:\Users\60925>conda update -n base -c defaults conda Solving environment: failed InvalidVersionSpecError: Invalid version spec: =2.7 (base) C:\Users\60925>conda clean --all Cache location: D:\ruanjian\anaconda3\pkgs Will remove the following tarballs: D:\ruanjian\anaconda3\pkgs -------------------------- alabaster-0.7.12-py37_0.tar.bz2 17 KB anaconda-2018.12-py37_0.tar.bz2 11 KB anaconda-client-1.7.2-py37_0.tar.bz2 199 KB anaconda-navigator-1.9.6-py37_0.tar.bz2 4.7 MB anaconda-project-0.8.2-py37_0.tar.bz2 493 KB asn1crypto-0.24.0-py37_0.tar.bz2 154 KB astroid-2.1.0-py37_0.tar.bz2 270 KB astropy-3.1-py37he774522_0.tar.bz2 6.9 MB atomicwrites-1.2.1-py37_0.tar.bz2 11 KB attrs-18.2.0-py37h28b3542_0.tar.bz2 51 KB babel-2.6.0-py37_0.tar.bz2 5.7 MB backcall-0.1.0-py37_0.tar.bz2 19 KB backports-1.0-py37_1.tar.bz2 3 KB backports.os-0.1.1-py37_0.tar.bz2 15 KB backports.shutil_get_terminal_size-1.0.0-py37_2.tar.bz2 8 KB beautifulsoup4-4.6.3-py37_0.tar.bz2 141 KB bitarray-0.8.3-py37hfa6e2cd_0.tar.bz2 56 KB bkcharts-0.2-py37_0.tar.bz2 127 KB blas-1.0-mkl.tar.bz2 6 KB blaze-0.11.3-py37_0.tar.bz2 624 KB bleach-3.0.2-py37_0.tar.bz2 218 KB blosc-1.14.4-he51fdeb_0.tar.bz2 651 KB bokeh-1.0.2-py37_0.tar.bz2 5.3 MB boto-2.49.0-py37_0.tar.bz2 1.6 MB bottleneck-1.2.1-py37h452e1ab_1.tar.bz2 112 KB bzip2-1.0.6-hfa6e2cd_5.tar.bz2 145 KB ca-certificates-2018.03.07-0.tar.bz2 155 KB certifi-2018.11.29-py37_0.tar.bz2 146 KB cffi-1.11.5-py37h74b6da3_1.tar.bz2 213 KB chardet-3.0.4-py37_1.tar.bz2 184 KB click-7.0-py37_0.tar.bz2 118 KB cloudpickle-0.6.1-py37_0.tar.bz2 27 KB clyent-1.2.2-py37_1.tar.bz2 18 KB colorama-0.4.1-py37_0.tar.bz2 24 KB comtypes-1.1.7-py37_0.tar.bz2 233 KB conda-4.5.12-py37_0.tar.bz2 1.1 MB conda-build-3.17.6-py37_0.tar.bz2 532 KB conda-env-2.6.0-1.tar.bz2 3 KB conda-verify-3.1.1-py37_0.tar.bz2 73 KB console_shortcut-0.1.1-3.tar.bz2 59 KB contextlib2-0.5.5-py37_0.tar.bz2 15 KB cryptography-2.4.2-py37h7a1dbc1_0.tar.bz2 550 KB curl-7.63.0-h2a8f88b_1000.tar.bz2 124 KB cycler-0.10.0-py37_0.tar.bz2 13 KB cython-0.29.2-py37ha925a31_0.tar.bz2 2.0 MB cytoolz-0.9.0.1-py37hfa6e2cd_1.tar.bz2 325 KB dask-1.0.0-py37_0.tar.bz2 3 KB dask-core-1.0.0-py37_0.tar.bz2 1.2 MB datashape-0.5.4-py37_1.tar.bz2 100 KB decorator-4.3.0-py37_0.tar.bz2 15 KB defusedxml-0.5.0-py37_1.tar.bz2 30 KB distributed-1.25.1-py37_0.tar.bz2 851 KB docutils-0.14-py37_0.tar.bz2 694 KB entrypoints-0.2.3-py37_2.tar.bz2 9 KB et_xmlfile-1.0.1-py37_0.tar.bz2 20 KB fastcache-1.0.2-py37hfa6e2cd_2.tar.bz2 31 KB filelock-3.0.10-py37_0.tar.bz2 14 KB flask-1.0.2-py37_1.tar.bz2 137 KB flask-cors-3.0.7-py37_0.tar.bz2 21 KB freetype-2.9.1-ha9979f8_1.tar.bz2 470 KB future-0.17.1-py37_0.tar.bz2 720 KB get_terminal_size-1.0.0-h38e98db_0.tar.bz2 3 KB gevent-1.3.7-py37he774522_1.tar.bz2 1.6 MB glob2-0.6-py37_1.tar.bz2 17 KB greenlet-0.4.15-py37hfa6e2cd_0.tar.bz2 21 KB h5py-2.8.0-py37h3bdd7fb_2.tar.bz2 833 KB hdf5-1.10.2-hac2f561_1.tar.bz2 34.8 MB heapdict-1.0.0-py37_2.tar.bz2 7 KB html5lib-1.0.1-py37_0.tar.bz2 181 KB icc_rt-2019.0.0-h0cc432a_1.tar.bz2 9.4 MB icu-58.2-ha66f8fd_1.tar.bz2 21.9 MB idna-2.8-py37_0.tar.bz2 101 KB imageio-2.4.1-py37_0.tar.bz2 3.3 MB imagesize-1.1.0-py37_0.tar.bz2 10 KB importlib_metadata-0.6-py37_0.tar.bz2 21 KB intel-openmp-2019.1-144.tar.bz2 1.7 MB ipykernel-5.1.0-py37h39e3cac_0.tar.bz2 156 KB ipython-7.2.0-py37h39e3cac_0.tar.bz2 1.1 MB ipython_genutils-0.2.0-py37_0.tar.bz2 39 KB ipywidgets-7.4.2-py37_0.tar.bz2 151 KB isort-4.3.4-py37_0.tar.bz2 76 KB itsdangerous-1.1.0-py37_0.tar.bz2 27 KB jdcal-1.4-py37_0.tar.bz2 11 KB jedi-0.13.2-py37_0.tar.bz2 230 KB jinja2-2.10-py37_0.tar.bz2 183 KB jpeg-9b-hb83a4c4_2.tar.bz2 313 KB jsonschema-2.6.0-py37_0.tar.bz2 104 KB jupyter-1.0.0-py37_7.tar.bz2 6 KB jupyterlab-0.35.3-py37_0.tar.bz2 10.5 MB jupyterlab_server-0.2.0-py37_0.tar.bz2 40 KB jupyter_client-5.2.4-py37_0.tar.bz2 203 KB jupyter_console-6.0.0-py37_0.tar.bz2 53 KB jupyter_core-4.4.0-py37_0.tar.bz2 85 KB keyring-17.0.0-py37_0.tar.bz2 67 KB kiwisolver-1.0.1-py37h6538335_0.tar.bz2 61 KB krb5-1.16.1-hc04afaa_7.tar.bz2 819 KB lazy-object-proxy-1.3.1-py37hfa6e2cd_2.tar.bz2 32 KB libarchive-3.3.3-h0643e63_5.tar.bz2 1.4 MB libcurl-7.63.0-h2a8f88b_1000.tar.bz2 274 KB libiconv-1.15-h1df5818_7.tar.bz2 664 KB libpng-1.6.35-h2a8f88b_0.tar.bz2 589 KB libsodium-1.0.16-h9d3ae62_0.tar.bz2 585 KB libssh2-1.8.0-h7a1dbc1_4.tar.bz2 183 KB libtiff-4.0.9-h36446d0_2.tar.bz2 829 KB libxml2-2.9.8-hadb2253_1.tar.bz2 3.2 MB libxslt-1.1.32-hf6f1972_0.tar.bz2 458 KB llvmlite-0.26.0-py37ha925a31_0.tar.bz2 9.7 MB locket-0.2.0-py37_1.tar.bz2 8 KB lxml-4.2.5-py37hef2cd61_0.tar.bz2 1.2 MB lz4-c-1.8.1.2-h2fa13f4_0.tar.bz2 217 KB lzo-2.10-h6df0209_2.tar.bz2 154 KB m2w64-gcc-libgfortran-5.3.0-6.tar.bz2 340 KB m2w64-gcc-libs-5.3.0-7.tar.bz2 518 KB m2w64-gcc-libs-core-5.3.0-7.tar.bz2 213 KB m2w64-gmp-6.1.0-2.tar.bz2 689 KB m2w64-libwinpthread-git-5.0.0.4634.697f757-2.tar.bz2 30 KB markupsafe-1.1.0-py37he774522_0.tar.bz2 29 KB matplotlib-3.0.2-py37hc8f65d3_0.tar.bz2 6.5 MB mccabe-0.6.1-py37_1.tar.bz2 14 KB menuinst-1.4.14-py37hfa6e2cd_0.tar.bz2 92 KB mistune-0.8.4-py37he774522_0.tar.bz2 54 KB mkl-2019.1-144.tar.bz2 158.3 MB mkl-service-1.1.2-py37hb782905_5.tar.bz2 134 KB mkl_fft-1.0.6-py37h6288b17_0.tar.bz2 168 KB mkl_random-1.0.2-py37h343c172_0.tar.bz2 328 KB more-itertools-4.3.0-py37_0.tar.bz2 83 KB mpmath-1.1.0-py37_0.tar.bz2 958 KB msgpack-python-0.5.6-py37he980bc4_1.tar.bz2 85 KB msys2-conda-epoch-20160418-1.tar.bz2 2 KB multipledispatch-0.6.0-py37_0.tar.bz2 21 KB navigator-updater-0.2.1-py37_0.tar.bz2 1.3 MB nbconvert-5.4.0-py37_1.tar.bz2 436 KB nbformat-4.4.0-py37_0.tar.bz2 160 KB networkx-2.2-py37_1.tar.bz2 2.0 MB nltk-3.4-py37_1.tar.bz2 2.1 MB nose-1.3.7-py37_2.tar.bz2 241 KB notebook-5.7.4-py37_0.tar.bz2 7.3 MB numba-0.41.0-py37hf9181ef_0.tar.bz2 2.6 MB numexpr-2.6.8-py37hdce8814_0.tar.bz2 132 KB numpy-1.15.4-py37h19fb1c0_0.tar.bz2 47 KB numpy-base-1.15.4-py37hc3f5095_0.tar.bz2 3.9 MB numpydoc-0.8.0-py37_0.tar.bz2 42 KB odo-0.5.1-py37_0.tar.bz2 213 KB olefile-0.46-py37_0.tar.bz2 49 KB openpyxl-2.5.12-py37_0.tar.bz2 337 KB openssl-1.1.1a-he774522_0.tar.bz2 5.7 MB packaging-18.0-py37_0.tar.bz2 34 KB pandas-0.23.4-py37h830ac7b_0.tar.bz2 8.6 MB pandoc-1.19.2.1-hb2460c7_1.tar.bz2 18.7 MB pandocfilters-1.4.2-py37_1.tar.bz2 13 KB parso-0.3.1-py37_0.tar.bz2 114 KB partd-0.3.9-py37_0.tar.bz2 32 KB path.py-11.5.0-py37_0.tar.bz2 55 KB pathlib2-2.3.3-py37_0.tar.bz2 33 KB patsy-0.5.1-py37_0.tar.bz2 375 KB pep8-1.7.1-py37_0.tar.bz2 69 KB pickleshare-0.7.5-py37_0.tar.bz2 13 KB pillow-5.3.0-py37hdc69c19_0.tar.bz2 664 KB pip-18.1-py37_0.tar.bz2 1.8 MB pkginfo-1.4.2-py37_1.tar.bz2 57 KB pluggy-0.8.0-py37_0.tar.bz2 28 KB ply-3.11-py37_0.tar.bz2 79 KB prometheus_client-0.5.0-py37_0.tar.bz2 67 KB prompt_toolkit-2.0.7-py37_0.tar.bz2 479 KB psutil-5.4.8-py37he774522_0.tar.bz2 334 KB py-1.7.0-py37_0.tar.bz2 138 KB pycodestyle-2.4.0-py37_0.tar.bz2 76 KB pycosat-0.6.3-py37hfa6e2cd_0.tar.bz2 98 KB pycparser-2.19-py37_0.tar.bz2 173 KB pycrypto-2.6.1-py37hfa6e2cd_9.tar.bz2 473 KB pycurl-7.43.0.2-py37h7a1dbc1_0.tar.bz2 181 KB pyflakes-2.0.0-py37_0.tar.bz2 105 KB pygments-2.3.1-py37_0.tar.bz2 1.3 MB pylint-2.2.2-py37_0.tar.bz2 845 KB pyodbc-4.0.25-py37ha925a31_0.tar.bz2 70 KB pyopenssl-18.0.0-py37_0.tar.bz2 82 KB pyparsing-2.3.0-py37_0.tar.bz2 102 KB pyqt-5.9.2-py37h6538335_2.tar.bz2 4.2 MB pysocks-1.6.8-py37_0.tar.bz2 22 KB pytables-3.4.4-py37he6f6034_0.tar.bz2 2.7 MB pytest-4.0.2-py37_0.tar.bz2 361 KB pytest-arraydiff-0.3-py37h39e3cac_0.tar.bz2 15 KB pytest-astropy-0.5.0-py37_0.tar.bz2 7 KB pytest-doctestplus-0.2.0-py37_0.tar.bz2 21 KB pytest-openfiles-0.3.1-py37_0.tar.bz2 11 KB pytest-remotedata-0.3.1-py37_0.tar.bz2 14 KB python-3.7.1-h8c8aaf0_6.tar.bz2 17.7 MB python-dateutil-2.7.5-py37_0.tar.bz2 276 KB python-libarchive-c-2.8-py37_6.tar.bz2 20 KB pytz-2018.7-py37_0.tar.bz2 257 KB pywavelets-1.0.1-py37h8c2d366_0.tar.bz2 4.2 MB pywin32-223-py37hfa6e2cd_1.tar.bz2 9.3 MB pywinpty-0.5.5-py37_1000.tar.bz2 48 KB pyyaml-3.13-py37hfa6e2cd_0.tar.bz2 148 KB pyzmq-17.1.2-py37hfa6e2cd_0.tar.bz2 400 KB qt-5.9.7-vc14h73c81de_0.tar.bz2 92.3 MB qtawesome-0.5.3-py37_0.tar.bz2 600 KB qtconsole-4.4.3-py37_0.tar.bz2 176 KB qtpy-1.5.2-py37_0.tar.bz2 53 KB requests-2.21.0-py37_0.tar.bz2 85 KB rope-0.11.0-py37_0.tar.bz2 282 KB ruamel_yaml-0.15.46-py37hfa6e2cd_0.tar.bz2 262 KB scikit-image-0.14.1-py37ha925a31_0.tar.bz2 23.3 MB scikit-learn-0.20.1-py37h343c172_0.tar.bz2 5.1 MB scipy-1.1.0-py37h29ff71c_2.tar.bz2 13.3 MB seaborn-0.9.0-py37_0.tar.bz2 379 KB send2trash-1.5.0-py37_0.tar.bz2 16 KB setuptools-40.6.3-py37_0.tar.bz2 631 KB simplegeneric-0.8.1-py37_2.tar.bz2 9 KB singledispatch-3.4.0.3-py37_0.tar.bz2 15 KB sip-4.19.8-py37h6538335_0.tar.bz2 281 KB six-1.12.0-py37_0.tar.bz2 22 KB snappy-1.1.7-h777316e_3.tar.bz2 82 KB snowballstemmer-1.2.1-py37_0.tar.bz2 82 KB sortedcollections-1.0.1-py37_0.tar.bz2 15 KB sortedcontainers-2.1.0-py37_0.tar.bz2 45 KB sphinx-1.8.2-py37_0.tar.bz2 1.9 MB sphinxcontrib-1.0-py37_1.tar.bz2 3 KB sphinxcontrib-websupport-1.1.0-py37_1.tar.bz2 36 KB spyder-3.3.2-py37_0.tar.bz2 2.8 MB spyder-kernels-0.3.0-py37_0.tar.bz2 62 KB sqlalchemy-1.2.15-py37he774522_0.tar.bz2 1.7 MB sqlite-3.26.0-he774522_0.tar.bz2 936 KB statsmodels-0.9.0-py37h452e1ab_0.tar.bz2 8.2 MB sympy-1.3-py37_0.tar.bz2 9.5 MB tblib-1.3.2-py37_0.tar.bz2 16 KB terminado-0.8.1-py37_1.tar.bz2 21 KB testpath-0.4.2-py37_0.tar.bz2 92 KB tk-8.6.8-hfa6e2cd_0.tar.bz2 3.8 MB toolz-0.9.0-py37_0.tar.bz2 91 KB tornado-5.1.1-py37hfa6e2cd_0.tar.bz2 665 KB tqdm-4.28.1-py37h28b3542_0.tar.bz2 79 KB traitlets-4.3.2-py37_0.tar.bz2 133 KB unicodecsv-0.14.1-py37_0.tar.bz2 25 KB urllib3-1.24.1-py37_0.tar.bz2 150 KB vc-14.1-h0510ff6_4.tar.bz2 6 KB vs2015_runtime-14.15.26706-h3a45250_0.tar.bz2 2.2 MB wcwidth-0.1.7-py37_0.tar.bz2 23 KB webencodings-0.5.1-py37_1.tar.bz2 19 KB werkzeug-0.14.1-py37_0.tar.bz2 422 KB wheel-0.32.3-py37_0.tar.bz2 53 KB widgetsnbextension-3.4.2-py37_0.tar.bz2 1.7 MB wincertstore-0.2-py37_0.tar.bz2 13 KB winpty-0.4.3-4.tar.bz2 1.1 MB win_inet_pton-1.0.1-py37_1.tar.bz2 6 KB win_unicode_console-0.5-py37_0.tar.bz2 31 KB wrapt-1.10.11-py37hfa6e2cd_2.tar.bz2 44 KB xlrd-1.2.0-py37_0.tar.bz2 190 KB xlsxwriter-1.1.2-py37_0.tar.bz2 213 KB xlwings-0.15.1-py37_0.tar.bz2 804 KB xlwt-1.3.0-py37_0.tar.bz2 162 KB xz-5.2.4-h2fa13f4_4.tar.bz2 812 KB yaml-0.1.7-hc54c509_2.tar.bz2 103 KB zeromq-4.2.5-he025d50_1.tar.bz2 9.5 MB zict-0.1.3-py37_0.tar.bz2 18 KB zlib-1.2.11-h62dcd97_3.tar.bz2 128 KB zstd-1.3.7-h508b16e_0.tar.bz2 536 KB _ipyw_jlab_nb_ext_conf-0.1.0-py37_0.tar.bz2 4 KB --------------------------------------------------- Total: 599.8 MB Proceed ([y]/n)? conda install conda=23.10.0 Invalid choice: conda install conda=23.10.0 Proceed ([y]/n)? y Removed alabaster-0.7.12-py37_0.tar.bz2 Removed anaconda-2018.12-py37_0.tar.bz2 Removed anaconda-client-1.7.2-py37_0.tar.bz2 Removed anaconda-navigator-1.9.6-py37_0.tar.bz2 Removed anaconda-project-0.8.2-py37_0.tar.bz2 Removed asn1crypto-0.24.0-py37_0.tar.bz2 Removed astroid-2.1.0-py37_0.tar.bz2 Removed astropy-3.1-py37he774522_0.tar.bz2 Removed atomicwrites-1.2.1-py37_0.tar.bz2 Removed attrs-18.2.0-py37h28b3542_0.tar.bz2 Removed babel-2.6.0-py37_0.tar.bz2 Removed backcall-0.1.0-py37_0.tar.bz2 Removed backports-1.0-py37_1.tar.bz2 Removed backports.os-0.1.1-py37_0.tar.bz2 Removed backports.shutil_get_terminal_size-1.0.0-py37_2.tar.bz2 Removed beautifulsoup4-4.6.3-py37_0.tar.bz2 Removed bitarray-0.8.3-py37hfa6e2cd_0.tar.bz2 Removed bkcharts-0.2-py37_0.tar.bz2 Removed blas-1.0-mkl.tar.bz2 Removed blaze-0.11.3-py37_0.tar.bz2 Removed bleach-3.0.2-py37_0.tar.bz2 Removed blosc-1.14.4-he51fdeb_0.tar.bz2 Removed bokeh-1.0.2-py37_0.tar.bz2 Removed boto-2.49.0-py37_0.tar.bz2 Removed bottleneck-1.2.1-py37h452e1ab_1.tar.bz2 Removed bzip2-1.0.6-hfa6e2cd_5.tar.bz2 Removed ca-certificates-2018.03.07-0.tar.bz2 Removed certifi-2018.11.29-py37_0.tar.bz2 Removed cffi-1.11.5-py37h74b6da3_1.tar.bz2 Removed chardet-3.0.4-py37_1.tar.bz2 Removed click-7.0-py37_0.tar.bz2 Removed cloudpickle-0.6.1-py37_0.tar.bz2 Removed clyent-1.2.2-py37_1.tar.bz2 Removed colorama-0.4.1-py37_0.tar.bz2 Removed comtypes-1.1.7-py37_0.tar.bz2 Removed conda-4.5.12-py37_0.tar.bz2 Removed conda-build-3.17.6-py37_0.tar.bz2 Removed conda-env-2.6.0-1.tar.bz2 Removed conda-verify-3.1.1-py37_0.tar.bz2 Removed console_shortcut-0.1.1-3.tar.bz2 Removed contextlib2-0.5.5-py37_0.tar.bz2 Removed cryptography-2.4.2-py37h7a1dbc1_0.tar.bz2 Removed curl-7.63.0-h2a8f88b_1000.tar.bz2 Removed cycler-0.10.0-py37_0.tar.bz2 Removed cython-0.29.2-py37ha925a31_0.tar.bz2 Removed cytoolz-0.9.0.1-py37hfa6e2cd_1.tar.bz2 Removed dask-1.0.0-py37_0.tar.bz2 Removed dask-core-1.0.0-py37_0.tar.bz2 Removed datashape-0.5.4-py37_1.tar.bz2 Removed decorator-4.3.0-py37_0.tar.bz2 Removed defusedxml-0.5.0-py37_1.tar.bz2 Removed distributed-1.25.1-py37_0.tar.bz2 Removed docutils-0.14-py37_0.tar.bz2 Removed entrypoints-0.2.3-py37_2.tar.bz2 Removed et_xmlfile-1.0.1-py37_0.tar.bz2 Removed fastcache-1.0.2-py37hfa6e2cd_2.tar.bz2 Removed filelock-3.0.10-py37_0.tar.bz2 Removed flask-1.0.2-py37_1.tar.bz2 Removed flask-cors-3.0.7-py37_0.tar.bz2 Removed freetype-2.9.1-ha9979f8_1.tar.bz2 Removed future-0.17.1-py37_0.tar.bz2 Removed get_terminal_size-1.0.0-h38e98db_0.tar.bz2 Removed gevent-1.3.7-py37he774522_1.tar.bz2 Removed glob2-0.6-py37_1.tar.bz2 Removed greenlet-0.4.15-py37hfa6e2cd_0.tar.bz2 Removed h5py-2.8.0-py37h3bdd7fb_2.tar.bz2 Removed hdf5-1.10.2-hac2f561_1.tar.bz2 Removed heapdict-1.0.0-py37_2.tar.bz2 Removed html5lib-1.0.1-py37_0.tar.bz2 Removed icc_rt-2019.0.0-h0cc432a_1.tar.bz2 Removed icu-58.2-ha66f8fd_1.tar.bz2 Removed idna-2.8-py37_0.tar.bz2 Removed imageio-2.4.1-py37_0.tar.bz2 Removed imagesize-1.1.0-py37_0.tar.bz2 Removed importlib_metadata-0.6-py37_0.tar.bz2 Removed intel-openmp-2019.1-144.tar.bz2 Removed ipykernel-5.1.0-py37h39e3cac_0.tar.bz2 Removed ipython-7.2.0-py37h39e3cac_0.tar.bz2 Removed ipython_genutils-0.2.0-py37_0.tar.bz2 Removed ipywidgets-7.4.2-py37_0.tar.bz2 Removed isort-4.3.4-py37_0.tar.bz2 Removed itsdangerous-1.1.0-py37_0.tar.bz2 Removed jdcal-1.4-py37_0.tar.bz2 Removed jedi-0.13.2-py37_0.tar.bz2 Removed jinja2-2.10-py37_0.tar.bz2 Removed jpeg-9b-hb83a4c4_2.tar.bz2 Removed jsonschema-2.6.0-py37_0.tar.bz2 Removed jupyter-1.0.0-py37_7.tar.bz2 Removed jupyterlab-0.35.3-py37_0.tar.bz2 Removed jupyterlab_server-0.2.0-py37_0.tar.bz2 Removed jupyter_client-5.2.4-py37_0.tar.bz2 Removed jupyter_console-6.0.0-py37_0.tar.bz2 Removed jupyter_core-4.4.0-py37_0.tar.bz2 Removed keyring-17.0.0-py37_0.tar.bz2 Removed kiwisolver-1.0.1-py37h6538335_0.tar.bz2 Removed krb5-1.16.1-hc04afaa_7.tar.bz2 Removed lazy-object-proxy-1.3.1-py37hfa6e2cd_2.tar.bz2 Removed libarchive-3.3.3-h0643e63_5.tar.bz2 Removed libcurl-7.63.0-h2a8f88b_1000.tar.bz2 Removed libiconv-1.15-h1df5818_7.tar.bz2 Removed libpng-1.6.35-h2a8f88b_0.tar.bz2 Removed libsodium-1.0.16-h9d3ae62_0.tar.bz2 Removed libssh2-1.8.0-h7a1dbc1_4.tar.bz2 Removed libtiff-4.0.9-h36446d0_2.tar.bz2 Removed libxml2-2.9.8-hadb2253_1.tar.bz2 Removed libxslt-1.1.32-hf6f1972_0.tar.bz2 Removed llvmlite-0.26.0-py37ha925a31_0.tar.bz2 Removed locket-0.2.0-py37_1.tar.bz2 Removed lxml-4.2.5-py37hef2cd61_0.tar.bz2 Removed lz4-c-1.8.1.2-h2fa13f4_0.tar.bz2 Removed lzo-2.10-h6df0209_2.tar.bz2 Removed m2w64-gcc-libgfortran-5.3.0-6.tar.bz2 Removed m2w64-gcc-libs-5.3.0-7.tar.bz2 Removed m2w64-gcc-libs-core-5.3.0-7.tar.bz2 Removed m2w64-gmp-6.1.0-2.tar.bz2 Removed m2w64-libwinpthread-git-5.0.0.4634.697f757-2.tar.bz2 Removed markupsafe-1.1.0-py37he774522_0.tar.bz2 Removed matplotlib-3.0.2-py37hc8f65d3_0.tar.bz2 Removed mccabe-0.6.1-py37_1.tar.bz2 Removed menuinst-1.4.14-py37hfa6e2cd_0.tar.bz2 Removed mistune-0.8.4-py37he774522_0.tar.bz2 Removed mkl-2019.1-144.tar.bz2 Removed mkl-service-1.1.2-py37hb782905_5.tar.bz2 Removed mkl_fft-1.0.6-py37h6288b17_0.tar.bz2 Removed mkl_random-1.0.2-py37h343c172_0.tar.bz2 Removed more-itertools-4.3.0-py37_0.tar.bz2 Removed mpmath-1.1.0-py37_0.tar.bz2 Removed msgpack-python-0.5.6-py37he980bc4_1.tar.bz2 Removed msys2-conda-epoch-20160418-1.tar.bz2 Removed multipledispatch-0.6.0-py37_0.tar.bz2 Removed navigator-updater-0.2.1-py37_0.tar.bz2 Removed nbconvert-5.4.0-py37_1.tar.bz2 Removed nbformat-4.4.0-py37_0.tar.bz2 Removed networkx-2.2-py37_1.tar.bz2 Removed nltk-3.4-py37_1.tar.bz2 Removed nose-1.3.7-py37_2.tar.bz2 Removed notebook-5.7.4-py37_0.tar.bz2 Removed numba-0.41.0-py37hf9181ef_0.tar.bz2 Removed numexpr-2.6.8-py37hdce8814_0.tar.bz2 Removed numpy-1.15.4-py37h19fb1c0_0.tar.bz2 Removed numpy-base-1.15.4-py37hc3f5095_0.tar.bz2 Removed numpydoc-0.8.0-py37_0.tar.bz2 Removed odo-0.5.1-py37_0.tar.bz2 Removed olefile-0.46-py37_0.tar.bz2 Removed openpyxl-2.5.12-py37_0.tar.bz2 Removed openssl-1.1.1a-he774522_0.tar.bz2 Removed packaging-18.0-py37_0.tar.bz2 Removed pandas-0.23.4-py37h830ac7b_0.tar.bz2 Removed pandoc-1.19.2.1-hb2460c7_1.tar.bz2 Removed pandocfilters-1.4.2-py37_1.tar.bz2 Removed parso-0.3.1-py37_0.tar.bz2 Removed partd-0.3.9-py37_0.tar.bz2 Removed path.py-11.5.0-py37_0.tar.bz2 Removed pathlib2-2.3.3-py37_0.tar.bz2 Removed patsy-0.5.1-py37_0.tar.bz2 Removed pep8-1.7.1-py37_0.tar.bz2 Removed pickleshare-0.7.5-py37_0.tar.bz2 Removed pillow-5.3.0-py37hdc69c19_0.tar.bz2 Removed pip-18.1-py37_0.tar.bz2 Removed pkginfo-1.4.2-py37_1.tar.bz2 Removed pluggy-0.8.0-py37_0.tar.bz2 Removed ply-3.11-py37_0.tar.bz2 Removed prometheus_client-0.5.0-py37_0.tar.bz2 Removed prompt_toolkit-2.0.7-py37_0.tar.bz2 Removed psutil-5.4.8-py37he774522_0.tar.bz2 Removed py-1.7.0-py37_0.tar.bz2 Removed pycodestyle-2.4.0-py37_0.tar.bz2 Removed pycosat-0.6.3-py37hfa6e2cd_0.tar.bz2 Removed pycparser-2.19-py37_0.tar.bz2 Removed pycrypto-2.6.1-py37hfa6e2cd_9.tar.bz2 Removed pycurl-7.43.0.2-py37h7a1dbc1_0.tar.bz2 Removed pyflakes-2.0.0-py37_0.tar.bz2 Removed pygments-2.3.1-py37_0.tar.bz2 Removed pylint-2.2.2-py37_0.tar.bz2 Removed pyodbc-4.0.25-py37ha925a31_0.tar.bz2 Removed pyopenssl-18.0.0-py37_0.tar.bz2 Removed pyparsing-2.3.0-py37_0.tar.bz2 Removed pyqt-5.9.2-py37h6538335_2.tar.bz2 Removed pysocks-1.6.8-py37_0.tar.bz2 Removed pytables-3.4.4-py37he6f6034_0.tar.bz2 Removed pytest-4.0.2-py37_0.tar.bz2 Removed pytest-arraydiff-0.3-py37h39e3cac_0.tar.bz2 Removed pytest-astropy-0.5.0-py37_0.tar.bz2 Removed pytest-doctestplus-0.2.0-py37_0.tar.bz2 Removed pytest-openfiles-0.3.1-py37_0.tar.bz2 Removed pytest-remotedata-0.3.1-py37_0.tar.bz2 Removed python-3.7.1-h8c8aaf0_6.tar.bz2 Removed python-dateutil-2.7.5-py37_0.tar.bz2 Removed python-libarchive-c-2.8-py37_6.tar.bz2 Removed pytz-2018.7-py37_0.tar.bz2 Removed pywavelets-1.0.1-py37h8c2d366_0.tar.bz2 Removed pywin32-223-py37hfa6e2cd_1.tar.bz2 Removed pywinpty-0.5.5-py37_1000.tar.bz2 Removed pyyaml-3.13-py37hfa6e2cd_0.tar.bz2 Removed pyzmq-17.1.2-py37hfa6e2cd_0.tar.bz2 Removed qt-5.9.7-vc14h73c81de_0.tar.bz2 Removed qtawesome-0.5.3-py37_0.tar.bz2 Removed qtconsole-4.4.3-py37_0.tar.bz2 Removed qtpy-1.5.2-py37_0.tar.bz2 Removed requests-2.21.0-py37_0.tar.bz2 Removed rope-0.11.0-py37_0.tar.bz2 Removed ruamel_yaml-0.15.46-py37hfa6e2cd_0.tar.bz2 Removed scikit-image-0.14.1-py37ha925a31_0.tar.bz2 Removed scikit-learn-0.20.1-py37h343c172_0.tar.bz2 Removed scipy-1.1.0-py37h29ff71c_2.tar.bz2 Removed seaborn-0.9.0-py37_0.tar.bz2 Removed send2trash-1.5.0-py37_0.tar.bz2 Removed setuptools-40.6.3-py37_0.tar.bz2 Removed simplegeneric-0.8.1-py37_2.tar.bz2 Removed singledispatch-3.4.0.3-py37_0.tar.bz2 Removed sip-4.19.8-py37h6538335_0.tar.bz2 Removed six-1.12.0-py37_0.tar.bz2 Removed snappy-1.1.7-h777316e_3.tar.bz2 Removed snowballstemmer-1.2.1-py37_0.tar.bz2 Removed sortedcollections-1.0.1-py37_0.tar.bz2 Removed sortedcontainers-2.1.0-py37_0.tar.bz2 Removed sphinx-1.8.2-py37_0.tar.bz2 Removed sphinxcontrib-1.0-py37_1.tar.bz2 Removed sphinxcontrib-websupport-1.1.0-py37_1.tar.bz2 Removed spyder-3.3.2-py37_0.tar.bz2 Removed spyder-kernels-0.3.0-py37_0.tar.bz2 Removed sqlalchemy-1.2.15-py37he774522_0.tar.bz2 Removed sqlite-3.26.0-he774522_0.tar.bz2 Removed statsmodels-0.9.0-py37h452e1ab_0.tar.bz2 Removed sympy-1.3-py37_0.tar.bz2 Removed tblib-1.3.2-py37_0.tar.bz2 Removed terminado-0.8.1-py37_1.tar.bz2 Removed testpath-0.4.2-py37_0.tar.bz2 Removed tk-8.6.8-hfa6e2cd_0.tar.bz2 Removed toolz-0.9.0-py37_0.tar.bz2 Removed tornado-5.1.1-py37hfa6e2cd_0.tar.bz2 Removed tqdm-4.28.1-py37h28b3542_0.tar.bz2 Removed traitlets-4.3.2-py37_0.tar.bz2 Removed unicodecsv-0.14.1-py37_0.tar.bz2 Removed urllib3-1.24.1-py37_0.tar.bz2 Removed vc-14.1-h0510ff6_4.tar.bz2 Removed vs2015_runtime-14.15.26706-h3a45250_0.tar.bz2 Removed wcwidth-0.1.7-py37_0.tar.bz2 Removed webencodings-0.5.1-py37_1.tar.bz2 Removed werkzeug-0.14.1-py37_0.tar.bz2 Removed wheel-0.32.3-py37_0.tar.bz2 Removed widgetsnbextension-3.4.2-py37_0.tar.bz2 Removed wincertstore-0.2-py37_0.tar.bz2 Removed winpty-0.4.3-4.tar.bz2 Removed win_inet_pton-1.0.1-py37_1.tar.bz2 Removed win_unicode_console-0.5-py37_0.tar.bz2 Removed wrapt-1.10.11-py37hfa6e2cd_2.tar.bz2 Removed xlrd-1.2.0-py37_0.tar.bz2 Removed xlsxwriter-1.1.2-py37_0.tar.bz2 Removed xlwings-0.15.1-py37_0.tar.bz2 Removed xlwt-1.3.0-py37_0.tar.bz2 Removed xz-5.2.4-h2fa13f4_4.tar.bz2 Removed yaml-0.1.7-hc54c509_2.tar.bz2 Removed zeromq-4.2.5-he025d50_1.tar.bz2 Removed zict-0.1.3-py37_0.tar.bz2 Removed zlib-1.2.11-h62dcd97_3.tar.bz2 Removed zstd-1.3.7-h508b16e_0.tar.bz2 Removed _ipyw_jlab_nb_ext_conf-0.1.0-py37_0.tar.bz2 Cache location: D:\ruanjian\anaconda3\pkgs Will remove the following packages: D:\ruanjian\anaconda3\pkgs -------------------------- anaconda-2018.12-py37_0 59 KB blas-1.0-mkl 16 KB conda-env-2.6.0-1 6 KB dask-1.0.0-py37_0 9 KB get_terminal_size-1.0.0-h38e98db_0 8 KB msys2-conda-epoch-20160418-1 6 KB numpy-1.15.4-py37h19fb1c0_0 249 KB vc-14.1-h0510ff6_4 17 KB --------------------------------------------------- Total: 370 KB Proceed ([y]/n)? y removing anaconda-2018.12-py37_0 removing blas-1.0-mkl removing conda-env-2.6.0-1 removing dask-1.0.0-py37_0 removing get_terminal_size-1.0.0-h38e98db_0 removing msys2-conda-epoch-20160418-1 removing numpy-1.15.4-py37h19fb1c0_0 removing vc-14.1-h0510ff6_4 source cache (D:\ruanjian\anaconda3\conda-bld\src_cache) Size: 0 B git cache (D:\ruanjian\anaconda3\conda-bld\git_cache) Size: 0 B hg cache (D:\ruanjian\anaconda3\conda-bld\hg_cache) Size: 0 B svn cache (D:\ruanjian\anaconda3\conda-bld\svn_cache) Size: 0 B Total: 0 B Proceed ([y]/n)? y Removing D:\ruanjian\anaconda3\conda-bld\src_cache Removing D:\ruanjian\anaconda3\conda-bld\git_cache Removing D:\ruanjian\anaconda3\conda-bld\hg_cache Removing D:\ruanjian\anaconda3\conda-bld\svn_cache (base) C:\Users\60925>conda install conda=23.10.0 Solving environment: failed CondaValueError: Malformed version string '~': invalid character(s). (base) C:\Users\60925>conda install -c defaults conda=23.10.0 Solving environment: failed CondaValueError: Malformed version string '~': invalid character(s). (base) C:\Users\60925>为什么我的conda版本这么老?导致我根本无法更新conda,但是我使用的py必须是3.7的版本的,这是我找到的默认安装3.7版本的anaconda版本,但是安装的conda版本太老了,根本无法使用,应该如何解决?请帮我列出全部的有可能的解决方法
06-26
<think>我们注意到用户的问题集中在两个关键点:1.为什么Conda版本会过旧?2.如何在不改变Python版本(特别是需要保持Python3.7)的情况下更新Conda?首先,需要理解Conda的版本与Python环境的关系。Conda本身是一个独立的包管理工具,但它通常与一个基础Python环境绑定(在Anaconda或Miniconda中)。当我们安装Conda时,它会被安装在一个基础环境(base)中。这个基础环境中的Python版本和Conda版本是相互独立的,但是更新Conda时,有时会要求更新基础环境中的其他包(包括Python),这可能会导致冲突。然而,用户希望保持Python3.7不变,可能是因为项目依赖或兼容性要求。根据用户提供的错误信息,他在尝试安装特定版本的Conda(23.10.0)时遇到了版本字符串格式错误。这可能是由于当前Conda版本过旧,无法解析新版本字符串中的某些特性(比如语义化版本号)导致的。因此,我们建议分两步进行:步骤1:先更新到一个中间版本的Conda(该版本能够支持更新到23.10.0),然后再更新到目标版本。步骤2:确保在更新过程中不改变基础环境中的Python版本。但注意:更新Conda本身通常不会改变基础环境的Python版本,因为Conda是一个独立的包。然而,在更新过程中,Conda可能会尝试更新一些依赖包,这些依赖包可能会要求更新Python。因此,我们需要明确指定只更新Conda包,并且锁定Python版本。具体操作如下:1.首先,尝试更新到当前Conda能够支持的最新版本(一个中间版本)。例如,如果当前Conda版本非常旧(比如4.6.x),那么直接更新到23.10.0可能会失败,因为跨度太大。我们可以选择一个中间版本,比如先更新到22.11.0,然后再更新到23.10.0。2.在更新过程中,使用`--update-deps`参数并明确指定Python版本不变。但是,请注意,Conda在更新自身时,可能会要求更新一些依赖,这些依赖可能与当前Python版本冲突。因此,我们可以在更新时固定Python版本。然而,固定Python版本可能会导致更新失败,因为新版本的Conda可能需要更高版本的Python。但事实上,Conda本身是支持在多个Python版本下运行的。因此,我们可以尝试固定Python版本进行更新。具体命令:首先,尝试更新到一个中间版本(比如22.11.0):```bashcondainstall-nbaseconda=22.11.0python=3.7```这里,`-nbase`表示更新base环境,`conda=22.11.0`指定要安装的Conda版本,`python=3.7`表示保持Python版本为3.7。如果这一步成功,再更新到23.10.0:```bashcondainstall-nbaseconda=23.10.0python=3.7```但是,如果更新过程中出现依赖冲突,我们可以尝试使用`--no-update-deps`参数(但请注意,这个参数可能不被旧版本的Conda支持)来避免更新依赖。然而,更安全的方式是创建一个新的环境来安装新版本的Conda,但这并不常见,因为Conda通常安装在base环境中。另一种方案是使用Miniconda来重新安装一个独立的Conda环境,但这样会破坏现有的环境。因此,我们优先尝试在现有环境中更新。如果上述方法失败,我们可以尝试使用pip来安装Conda?注意:Conda不能通过pip安装。所以这不是一个选项。另外,也可以考虑使用离线安装包来安装指定版本的Conda。从Anaconda的官方仓库下载对应平台的Conda包(例如:conda-23.10.0-py37h....tar.bz2),然后使用以下命令安装:```bashcondainstall-nbase/path/to/conda-23.10.0.tar.bz2```但是,这种方法要求我们下载的包必须与当前平台的Python版本(3.7)兼容。总结步骤:1.先尝试更新到一个中间版本(如果当前版本非常旧)。2.在更新命令中明确指定Python版本(`python=3.7`)以避免Python升级。3.如果在线更新失败,尝试下载离线包进行安装。注意:在更新Conda之前,建议备份当前环境(导出环境配置文件):```bashcondaenvexport>environment_backup.yaml```这样,如果更新导致问题,可以回退。为什么Conda版本会过旧?可能的原因:-安装后长时间没有更新。-系统策略限制了更新(例如,企业环境中可能固定了版本)。-之前安装时指定了旧版本,并且后续没有更新。现在,我们按照上述思路给出具体回答。</think>### 为什么 Conda 版本会过旧? Conda 版本过旧通常有以下原因: 1. **基础环境未定期更新**:Conda 的 base 环境默认不会自动更新,需要手动执行更新操作 2. **Python 版本锁定**:当环境中存在固定版本的 Python(如 3.7)时,Conda 会限制依赖更新以避免破坏兼容性[^1] 3. **通道优先级问题**:第三方通道(如清华镜像)可能未及时同步最新软件包 4. **版本冲突**:旧版 Python 的部分依赖与新版本 Conda 存在兼容性问题 ### 如何在不改变 Python 3.7 的情况下更新 Conda? #### 方法 1:精确指定更新范围 ```bash # 仅更新 conda 及其核心依赖 conda update -n base --no-deps conda conda update -n base conda-build conda-verify ``` #### 方法 2:强制安装指定版本 ```bash # 忽略依赖冲突 (谨慎使用) conda install conda=23.10.0 --force-reinstall ``` #### 方法 3:创建独立管理环境 ```bash # 新建专用于包管理的环境 conda create -n conda_manager python=3.7 conda=23.10.0 # 使用新环境管理包 conda activate conda_manager conda install -n your_project_env package_name ``` #### 方法 4:离线安装 1. 从 [Anaconda 官方存档](https://repo.anaconda.com/pkgs/misc/conda-builds/) 下载 `conda-23.10.0-py37h...tar.bz2` 2. 执行本地安装: ```bash conda install /path/to/conda-23.10.0-py37h...tar.bz2 ``` ### 验证更新结果 ```bash conda --version # 应显示 23.10.0 python --version # 应保持 3.7.x ``` ### 注意事项 1. 更新前建议备份环境: ```bash conda env export > environment_backup.yml ``` 2. 若遇到依赖冲突,可尝试: ```bash conda update --all --no-pin python=3.7 ``` 3. 清华镜像可能滞后,可临时切回默认通道: ```bash conda install -c defaults conda=23.10.0 ``` > **关键原理**:Conda 使用 SAT 求解器进行依赖解析,固定 Python 版本会约束解空间范围。通过 `--no-deps` 或环境隔离可绕过此限制[^1]。 --- ### 相关问题 1. 如何查看当前环境的所有固定包版本? 2. Conda 环境导出/导入的最佳实践是什么? 3. 如何修复 Conda 的依赖解析失败问题? 4. Python 3.7 兼容的最新 Conda 版本是什么? 5. 为什么需要避免在 base 环境中工作?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值