修复问题
This commit is contained in:
+493
-495
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+414
-416
File diff suppressed because it is too large
Load Diff
+413
-415
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -14,7 +14,7 @@ Types of import:
|
||||
IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
|
||||
tracking down the missing module yourself. Thanks!
|
||||
|
||||
missing module named 'collections.abc' - imported by tracemalloc (top-level), typing (top-level), traceback (top-level), _colorize (top-level), logging (top-level), selectors (top-level), http.client (top-level), importlib.resources.readers (top-level), inspect (top-level), sqlite3.dbapi2 (top-level), setuptools (top-level), setuptools._distutils.filelist (top-level), setuptools._distutils.util (top-level), setuptools._vendor.jaraco.functools (top-level), setuptools._vendor.more_itertools.more (top-level), setuptools._distutils._modified (top-level), setuptools._distutils.compat (top-level), setuptools._distutils.spawn (top-level), typing_extensions (top-level), asyncio.base_events (top-level), multiprocessing.managers (top-level), asyncio.coroutines (top-level), setuptools._distutils.compilers.C.base (top-level), setuptools._distutils.fancy_getopt (top-level), setuptools._reqs (top-level), setuptools._vendor.jaraco.context (top-level), setuptools.discovery (top-level), setuptools.dist (top-level), setuptools._vendor.importlib_metadata (top-level), setuptools._vendor.importlib_metadata._meta (top-level), setuptools._distutils.command.bdist (top-level), setuptools._distutils.core (top-level), setuptools._distutils.cmd (top-level), setuptools._distutils.dist (top-level), configparser (top-level), setuptools._distutils.extension (top-level), setuptools.config.setupcfg (top-level), setuptools.config.expand (top-level), setuptools.config.pyprojecttoml (top-level), setuptools.config._apply_pyprojecttoml (top-level), setuptools.extension (top-level), tomllib._parser (conditional), setuptools._vendor.tomli._parser (conditional), setuptools.wheel (top-level), setuptools.command.egg_info (top-level), setuptools.command.bdist_egg (top-level), setuptools.command.sdist (top-level), setuptools._distutils.command.build (top-level), setuptools._distutils.command.sdist (top-level), setuptools.glob (top-level), setuptools.command._requirestxt (top-level), setuptools.command.bdist_wheel (top-level), requests.compat (top-level), cryptography.utils (top-level), cryptography.x509.name (top-level), cryptography.x509.base (top-level), cryptography.hazmat.bindings.openssl.binding (top-level), cryptography.x509.extensions (top-level), PySide6.QtCore (top-level), PySide6.QtNetwork (top-level), PySide6.QtGui (top-level), PySide6.QtWidgets (top-level), setuptools._distutils.command.build_ext (top-level), _pyrepl.types (top-level), _pyrepl.readline (top-level), setuptools._distutils.compilers.C.msvc (top-level), PySide6.QtOpenGL (top-level)
|
||||
missing module named 'collections.abc' - imported by tracemalloc (top-level), typing (top-level), traceback (top-level), _colorize (top-level), selectors (top-level), logging (top-level), http.client (top-level), importlib.resources.readers (top-level), inspect (top-level), sqlite3.dbapi2 (top-level), setuptools (top-level), setuptools._distutils.filelist (top-level), setuptools._distutils.util (top-level), setuptools._vendor.jaraco.functools (top-level), setuptools._vendor.more_itertools.more (top-level), setuptools._distutils._modified (top-level), setuptools._distutils.compat (top-level), setuptools._distutils.spawn (top-level), typing_extensions (top-level), asyncio.base_events (top-level), multiprocessing.managers (top-level), asyncio.coroutines (top-level), setuptools._distutils.compilers.C.base (top-level), setuptools._distutils.fancy_getopt (top-level), setuptools._reqs (top-level), setuptools._vendor.jaraco.context (top-level), setuptools.discovery (top-level), setuptools.dist (top-level), setuptools._vendor.importlib_metadata (top-level), setuptools._vendor.importlib_metadata._meta (top-level), setuptools._distutils.command.bdist (top-level), setuptools._distutils.core (top-level), setuptools._distutils.cmd (top-level), setuptools._distutils.dist (top-level), configparser (top-level), setuptools._distutils.extension (top-level), setuptools.config.setupcfg (top-level), setuptools.config.expand (top-level), setuptools.config.pyprojecttoml (top-level), setuptools.config._apply_pyprojecttoml (top-level), setuptools.extension (top-level), tomllib._parser (conditional), setuptools._vendor.tomli._parser (conditional), setuptools.wheel (top-level), setuptools.command.egg_info (top-level), setuptools.command.bdist_egg (top-level), setuptools.command.sdist (top-level), setuptools._distutils.command.build (top-level), setuptools._distutils.command.sdist (top-level), setuptools.glob (top-level), setuptools.command._requirestxt (top-level), setuptools.command.bdist_wheel (top-level), requests.compat (top-level), cryptography.utils (top-level), cryptography.x509.name (top-level), cryptography.x509.base (top-level), cryptography.hazmat.bindings.openssl.binding (top-level), cryptography.x509.extensions (top-level), PySide6.QtCore (top-level), PySide6.QtNetwork (top-level), PySide6.QtGui (top-level), PySide6.QtWidgets (top-level), setuptools._distutils.command.build_ext (top-level), _pyrepl.types (top-level), _pyrepl.readline (top-level), setuptools._distutils.compilers.C.msvc (top-level), PySide6.QtOpenGL (top-level)
|
||||
missing module named posix - imported by os (conditional, optional), posixpath (optional), shutil (conditional), importlib._bootstrap_external (conditional), pathlib._os (optional), _pyrepl.trace (conditional), _pyrepl.unix_console (optional)
|
||||
missing module named resource - imported by posix (top-level)
|
||||
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level)
|
||||
@@ -27,9 +27,9 @@ missing module named _posixsubprocess - imported by subprocess (conditional), mu
|
||||
missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level)
|
||||
missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level)
|
||||
missing module named _scproxy - imported by urllib.request (conditional)
|
||||
missing module named pwd - imported by posixpath (delayed, conditional, optional), shutil (delayed, optional), tarfile (optional), pathlib (optional), netrc (delayed, optional), subprocess (delayed, conditional, optional), psutil (optional), setuptools._distutils.util (delayed, conditional, optional), setuptools._vendor.backports.tarfile (optional), setuptools._distutils.archive_util (optional), http.server (delayed, optional)
|
||||
missing module named pwd - imported by posixpath (delayed, conditional, optional), subprocess (delayed, conditional, optional), shutil (delayed, optional), tarfile (optional), pathlib (optional), netrc (delayed, optional), psutil (optional), setuptools._distutils.util (delayed, conditional, optional), setuptools._vendor.backports.tarfile (optional), setuptools._distutils.archive_util (optional), http.server (delayed, optional)
|
||||
missing module named multiprocessing.BufferTooShort - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
|
||||
missing module named grp - imported by shutil (delayed, optional), tarfile (optional), pathlib (optional), subprocess (delayed, conditional, optional), setuptools._vendor.backports.tarfile (optional), setuptools._distutils.archive_util (optional)
|
||||
missing module named grp - imported by subprocess (delayed, conditional, optional), shutil (delayed, optional), tarfile (optional), pathlib (optional), setuptools._vendor.backports.tarfile (optional), setuptools._distutils.archive_util (optional)
|
||||
missing module named _typeshed - imported by setuptools._distutils.dist (conditional), setuptools.command.bdist_egg (conditional), setuptools.glob (conditional), setuptools._vendor.wheel.wheelfile (conditional), setuptools.compat.py311 (conditional)
|
||||
missing module named vms_lib - imported by platform (delayed, optional)
|
||||
missing module named 'java.lang' - imported by platform (delayed, optional)
|
||||
@@ -37,7 +37,7 @@ missing module named java - imported by platform (delayed)
|
||||
missing module named usercustomize - imported by site (delayed, optional)
|
||||
missing module named sitecustomize - imported by site (delayed, optional)
|
||||
missing module named termios - imported by tty (top-level), _pyrepl.pager (delayed, optional), _pyrepl.unix_console (top-level), _pyrepl.fancy_termios (top-level), _pyrepl.unix_eventqueue (top-level)
|
||||
missing module named fcntl - imported by pathlib._os (optional), subprocess (optional), _pyrepl.unix_console (top-level)
|
||||
missing module named fcntl - imported by subprocess (optional), pathlib._os (optional), _pyrepl.unix_console (top-level)
|
||||
missing module named readline - imported by site (delayed, optional), rlcompleter (optional), code (delayed, conditional, optional), sqlite3.__main__ (delayed, conditional, optional)
|
||||
missing module named _manylinux - imported by packaging._manylinux (delayed, optional), setuptools._vendor.packaging._manylinux (delayed, optional)
|
||||
missing module named setuptools._vendor.backports.zstd - imported by setuptools._vendor.backports (top-level), urllib3.util.request (conditional, optional), urllib3.response (conditional, optional)
|
||||
|
||||
@@ -27,6 +27,7 @@ imports:
|
||||
• <a href="#abc">abc</a>
|
||||
• <a href="#codecs">codecs</a>
|
||||
• <a href="#collections">collections</a>
|
||||
• <a href="#contextlib">contextlib</a>
|
||||
• <a href="#copyreg">copyreg</a>
|
||||
• <a href="#encodings">encodings</a>
|
||||
• <a href="#encodings._win_cp_codecs">encodings._win_cp_codecs</a>
|
||||
@@ -5156,6 +5157,7 @@ imported by:
|
||||
• <a href="#importlib.resources._adapters">importlib.resources._adapters</a>
|
||||
• <a href="#importlib.resources._common">importlib.resources._common</a>
|
||||
• <a href="#importlib.resources.readers">importlib.resources.readers</a>
|
||||
• <a href="#main.py">main.py</a>
|
||||
• <a href="#packaging._manylinux">packaging._manylinux</a>
|
||||
• <a href="#packaging._tokenizer">packaging._tokenizer</a>
|
||||
• <a href="#psutil">psutil</a>
|
||||
|
||||
Vendored
BIN
Binary file not shown.
@@ -10,6 +10,7 @@ import psutil
|
||||
import subprocess
|
||||
import sqlite3
|
||||
import requests
|
||||
from contextlib import contextmanager
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
|
||||
@@ -213,11 +214,25 @@ def update_vsdb_token(config_dir, new_token, new_email, log_callback):
|
||||
return False
|
||||
|
||||
|
||||
@contextmanager
|
||||
def request_with_proxy_fallback(url, **kwargs):
|
||||
"""优先走系统代理;代理不可用时自动回退直连。以 contextmanager 统一管理连接生命周期。"""
|
||||
try:
|
||||
with requests.get(url, **kwargs) as response:
|
||||
yield response
|
||||
return
|
||||
except requests.exceptions.ProxyError:
|
||||
with requests.Session() as session:
|
||||
session.trust_env = False
|
||||
with session.get(url, **kwargs) as response:
|
||||
yield response
|
||||
|
||||
|
||||
def check_for_updates():
|
||||
"""检查软件更新,返回 (data, error) 元组"""
|
||||
try:
|
||||
url = "https://api.yunzer.cn/api/softwareupgrade/check?code=cursortokenlogin"
|
||||
response = requests.get(url, timeout=10)
|
||||
with request_with_proxy_fallback(url, timeout=10) as response:
|
||||
response.raise_for_status()
|
||||
data = response.json()
|
||||
|
||||
@@ -314,7 +329,7 @@ class DownloadUpdateThread(QThread):
|
||||
new_path = None
|
||||
try:
|
||||
self.log_signal.emit("📡 正在请求安装包...")
|
||||
with requests.get(
|
||||
with request_with_proxy_fallback(
|
||||
self.download_url, stream=True, timeout=60, allow_redirects=True
|
||||
) as r:
|
||||
r.raise_for_status()
|
||||
|
||||
Reference in New Issue
Block a user