解决问题

python

PiP Not Found Issue #

使用pip安装某包时, 提示让更新, 按提示操作更新没效果没反应再用就提示ModuleNotFoundError: No module named 'pip' (ˉ▽ˉ;)…

ModuleNotFoundError: No module named ‘pip’ #

升级PiP时出现问题可由下方命令修复 #

python -m ensurepip
python -m pip install --upgrade pip

SSL校验 #

安装EasyOCR时, reader = easyocr.Reader(['ch_sim','en']) 下载到接近90,结果报错了…. 估计是SSL问题加入以下两条,不知如何.

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

from http.client To revert to the previous, unverified, behavior ssl._create_unverified_context() can be passed to the context parameter.

使用国内镜像下载Python #

	pip install --index https://pypi.mirrors.ustc.edu.cn/simple/ dlib(numpy等包名)
    # 一键更新pip 包资源(利用管道grep传输查询到的需要更新包名,传输到install命令)
    pip3 freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 pip3 install -U
    # 权限不够的话就在`pip3 install` 之前加`sudo`反正我不习惯用`root`
安装错误? #

居然有pip3 install XX的错误…这也是因为有旧版pip3存留。需要

$bash -d pip3 
$bash -r pip3

来清理shell中旧版pip缓存。

pip提示ModuleNotFoundError: No module named ‘pkg_resources’ #

pip下载python包一直提示ModuleNotFoundError: No module named ‘pkg_resources’,如下图: python -m pip install --upgrade pip setuptools wheel即可解决问题。

Python 无处安放的野生列表 #

-async def _gen_login_task_for_phone(_package_name: str, phone: CloudPhoneInfo, _used_accountid_list: List[int]=[]) -> TaskData:
+async def _gen_login_task_for_phone(_package_name: str, phone: CloudPhoneInfo) -> TaskData:
     __time_func_start = time.time()
     lock_id = await PackageAccountBindInfo.acquire_restock_account_lock()
     __time_done_get_lock = time.time()
     # 查询账号前申请锁
     if not lock_id:
         return None
-    using_accountid_list = await GoogleAccounts._get_using_accountid_list()
+    _used_accountid_list = await GoogleAccounts._get_using_accountid_list()
     __time_done_get_using_account = time.time()
-    _used_accountid_list.extend(using_accountid_list)
     if phone.responsible_for == 0:
         # 跟随最大包的切换频率 - 登陆新账号保证所有包可用 2
         _account_list = await GoogleAccounts._fetch_new_acoount_by(_used_accountid_list=_used_accountid_list)
@@ -85,8 +84,9 @@ async def _gen_login_task_for_phone(_package_name: str, phone: CloudPhoneInfo, _
         "获取账号耗时": __time_done_get_account - __time_done_get_using_account,
         "刷新账号使用缓存耗时": __time_done_cache_history - __time_done_get_account,
         "缓存账号使用耗时": __time_done_release_lock - __time_done_cache_history,
+        "长度": len(_used_accountid_list),
     }
async def _gen_login_task_for_phone(_package_name: str, phone: CloudPhoneInfo) -> TaskData:
    __time_func_start = time.time()
    lock_id = await PackageAccountBindInfo.acquire_restock_account_lock()
    __time_done_get_lock = time.time()
    # 查询账号前申请锁
    if not lock_id:
        return None
    _used_accountid_list = await GoogleAccounts._get_using_accountid_list()
    __time_done_get_using_account = time.time()
    if phone.responsible_for == 0:
        # 跟随最大包的切换频率 - 登陆新账号保证所有包可用 2
        _account_list = await GoogleAccounts._fetch_new_acoount_by(_used_accountid_list=_used_accountid_list)
    else:
        _account_list = await GoogleAccounts._restock_query_accounts_by(
            cloud_phone=phone.cloud_phone, package_name=_package_name,
            _used_accountid_list=_used_accountid_list,
            responsible_for=phone.responsible_for
        )
    __time_done_get_account = time.time()
    _account = (_account_list and random.choice(_account_list)) or None
    return task_data

以前方法有个 _used_accountid_list 入参, 但是外面调用没有给它传值; 一直执行这个方法的话 这个列表就会无限递增起来……..超级牛逼