QPT-Family / QPT

[内测中]QPT - 致力于让开源项目更好通往互联网世界的Python to EXE工具(Python打包)。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Report]打包后使用langchain及代理报错

lixiao888 opened this issue · comments

QPT版本

1.0b4.dev6

操作系统版本

Windows 10

CPU型号

Intel(R) Core(TM) i5-9400 CPU @ 2.90GHz 2.90 GHz

核心信息填写

复现步骤/报错截图

步骤描述

  1. 有时候打包langchain这个包打不进去,其他包都能打成功
  2. 运行打包后的debug目录下的exe文件使用winproxy代理报错,打包之前本地运行功能正常无问题
    image

【如报错则必须提供】Requirements文件内容

aiohttp==3.8.4
aiosignal==1.3.1
async-timeout==4.0.2
attrs==23.1.0
certifi==2023.5.7
charset-normalizer==3.1.0
click==8.1.3
colorama==0.4.6
dataclasses-json==0.5.7
frozenlist==1.3.3
greenlet==2.0.2
idna==3.4
langchain==0.0.191
marshmallow==3.19.0
marshmallow-enum==1.5.1
multidict==6.0.4
mypy-extensions==1.0.0
Nuitka==1.6.3
numexpr==2.8.4
numpy==1.24.3
openai==0.27.8
openapi-schema-pydantic==1.2.4
ordered-set==4.1.0
packaging==23.1
pefile==2023.2.7
Pillow==9.5.0
pydantic==1.10.7
PySide6==6.5.0
PySide6-Addons==6.5.0
PySide6-Essentials==6.5.0
PyYAML==6.0
QPT==1.0b4.dev6
requests==2.30.0
shiboken6==6.5.0
six==1.16.0
SQLAlchemy==2.0.17
tenacity==8.2.2
toml==0.10.2
tqdm==4.65.0
typing-inspect==0.8.0
typing_extensions==4.5.0
urllib3==2.0.2
wget==3.2
winproxy==0.3.0a1
yarl==1.9.2
zstandard==0.21.0
...  
  
↑建议在此处粘贴完整Requirements(Python第三方依赖)列表信息↑  

【如报错则必须提供】完整打包日志

→[2023-06-27 15:09:25,676] [DEBUG] | Looking in links: e:\Python-WorkSpace\gas-ai\out\Debug\opt/packages
→[2023-06-27 15:09:25,883] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\wget-3.2.zip
→[2023-06-27 15:09:25,889] [DEBUG] |   Preparing metadata (setup.py): started
→[2023-06-27 15:09:26,258] [DEBUG] |   Preparing metadata (setup.py): finished with status 'done'
→[2023-06-27 15:09:26,261] [DEBUG] | Building wheels for collected packages: wget
→[2023-06-27 15:09:26,263] [DEBUG] |   Building wheel for wget (setup.py): started
→[2023-06-27 15:09:26,789] [DEBUG] |   Building wheel for wget (setup.py): finished with status 'done'
→[2023-06-27 15:09:26,792] [DEBUG] |   Created wheel for wget: filename=wget-3.2-py3-none-any.whl size=9681 sha256=2a394e85e5051fb6e75e640180d3eae441845d0f753d8ed53178f5247b9bbbb3
→[2023-06-27 15:09:26,792] [DEBUG] |   Stored in directory: c:\q_tmp\pip_cache\wheels\3d\c8\66\9319bdf85a11d7eafe91439fc15856184ee3037c9a43af2357
→[2023-06-27 15:09:26,794] [DEBUG] | Successfully built wget
→[2023-06-27 15:09:27,119] [DEBUG] | Installing collected packages: wget
→[2023-06-27 15:09:27,623] [DEBUG] | ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
→[2023-06-27 15:09:27,624] [DEBUG] | qpt 1.0b4.dev6 requires pip>=22.1.1, but you have pip 21.3.1 which is incompatible.
→[2023-06-27 15:09:27,624] [DEBUG] | Successfully installed wget-3.2
→[2023-06-27 15:09:27,634] [DEBUG] | WARNING: Target directory E:\Python-WorkSpace\gas-ai\out\Debug\Python\Lib\site-packages\__pycache__ already exists. Specify --upgrade to force replacement.
→[2023-06-27 15:09:27,720] [DEBUG] | 终端命令执行成功!
初始化进度-27 153/5  |━━━━━━━━━━━━        | 60.00% AutoRequirementsPackage部署中...→[2023-06-27 15:09:27,721] [DEBUG] | 正在加载AutoRequirementsPackage-LocalInstallWhlOptOP
→[2023-06-27 15:09:27,721] [DEBUG] | SHELL: cd E: ;E:\Python-WorkSpace\gas-ai\out\Debug\Python\python.exe -m pip install -r E:\Python-WorkSpace\gas-ai\out\Debug\opt\requirements_dev.txt --target E:\Python-WorkSpace\gas-ai\out\Debug\Python\Lib\site-packages --no-index --no-deps -f E:\Python-WorkSpace\gas-ai\out\Debug\opt/packages --isolated --disable-pip-version-check --cache-dir C:/q_tmp\pip_cache --timeout 10 --prefer-binary
→[2023-06-27 15:09:27,722] [DEBUG] | PS E:\Python-WorkSpace\gas-ai\out\Debug> cd E: ;E:\Python-WorkSpace\gas-ai\out\Debug\Python\python.exe -m pip install -r E:\Python-WorkSpace\gas-ai\out\Debug\opt\requirements_dev.txt --target E:\Python-WorkSpace\gas-ai\out\Debug\Python\Lib\site-packages --no-index --no-deps -f E:\Python-WorkSpace\gas-ai\out\Debug\opt/packages --isolated --disable-pip-version-check --cache-dir C:/q_tmp\pip_cache --timeout 10 --prefer-binary; echo "---QPT OUTPUT STATUS CODE---" ;$?
→[2023-06-27 15:09:28,222] [DEBUG] | Looking in links: e:\Python-WorkSpace\gas-ai\out\Debug\opt/packages
→[2023-06-27 15:09:28,416] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\qpt-1.0b4.dev6-py3-none-any.whl
→[2023-06-27 15:09:28,422] [DEBUG] | Collecting wget==3.2
→[2023-06-27 15:09:28,422] [DEBUG] |   Using cached wget-3.2-py3-none-any.whl
→[2023-06-27 15:09:28,426] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\click-8.1.3-py3-none-any.whl
→[2023-06-27 15:09:28,431] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\colorama-0.4.6-py2.py3-none-any.whl
→[2023-06-27 15:09:28,435] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\pefile-2023.2.7-py3-none-any.whl
→[2023-06-27 15:09:28,440] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\pillow-9.5.0-cp39-cp39-win_amd64.whl
→[2023-06-27 15:09:28,444] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\toml-0.10.2-py2.py3-none-any.whl
→[2023-06-27 15:09:28,449] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\pip-23.1.2-py3-none-any.whl
→[2023-06-27 15:09:28,456] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\winproxy-0.3.0a1-py2.py3-none-any.whl
→[2023-06-27 15:09:28,461] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\six-1.16.0-py2.py3-none-any.whl
→[2023-06-27 15:09:28,465] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\pyside6-6.5.0-cp37-abi3-win_amd64.whl
→[2023-06-27 15:09:28,469] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\shiboken6-6.5.0-cp37-abi3-win_amd64.whl
→[2023-06-27 15:09:28,474] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\pyside6_essentials-6.5.0-cp37-abi3-win_amd64.whl
→[2023-06-27 15:09:28,486] [DEBUG] | Processing e:\python-workspace\gas-ai\out\debug\opt\packages\pyside6_addons-6.5.0-cp37-abi3-win_amd64.whl
→[2023-06-27 15:09:28,514] [DEBUG] | Installing collected packages: winproxy, wget, toml, six, shiboken6, qpt, pyside6-essentials, pyside6-addons, pyside6, pip, pillow, pefile, colorama, click
→[2023-06-27 15:09:45,037] [DEBUG] | Successfully installed click-8.1.3 colorama-0.4.6 pefile-2023.2.7 pillow-9.5.0 pip-23.1.2 pyside6-6.5.0 pyside6-addons-6.5.0 pyside6-essentials-6.5.0 qpt-1.0b4.dev6 shiboken6-6.5.0 six-1.16.0 toml-0.10.2 wget-3.2 winproxy-0.3.0a1
→[2023-06-27 15:09:45,331] [DEBUG] | WARNING: Target directory E:\Python-WorkSpace\gas-ai\out\Debug\Python\Lib\site-packages\pip already exists. Specify --upgrade to force replacement.
→[2023-06-27 15:09:50,567] [DEBUG] | WARNING: Target directory E:\Python-WorkSpace\gas-ai\out\Debug\Python\Lib\site-packages\qpt already exists. Specify --upgrade to force replacement.
→[2023-06-27 15:09:50,567] [DEBUG] | WARNING: Target directory E:\Python-WorkSpace\gas-ai\out\Debug\Python\Lib\site-packages\QPT-1.0b4.dev6.dist-info already exists. Specify --upgrade to force replacement.
→[2023-06-27 15:09:50,662] [DEBUG] | WARNING: Target directory E:\Python-WorkSpace\gas-ai\out\Debug\Python\Lib\site-packages\wget-3.2.dist-info already exists. Specify --upgrade to force replacement.
→[2023-06-27 15:09:50,662] [DEBUG] | WARNING: Target directory E:\Python-WorkSpace\gas-ai\out\Debug\Python\Lib\site-packages\wget.py already exists. Specify --upgrade to force replacement.
→[2023-06-27 15:09:50,688] [DEBUG] | WARNING: Target directory E:\Python-WorkSpace\gas-ai\out\Debug\Python\Lib\site-packages\__pycache__ already exists. Specify --upgrade to force replacement.
→[2023-06-27 15:09:50,688] [DEBUG] | WARNING: Target directory E:\Python-WorkSpace\gas-ai\out\Debug\Python\Lib\site-packages\bin already exists. Specify --upgrade to force replacement.
→[2023-06-27 15:09:51,572] [DEBUG] | 终端命令执行成功!
初始化进度-27 154/5  |━━━━━━━━━━━━━━━━    | 80.00% 初始化完毕→[2023-06-27 15:09:51,573] [INFO] | ----------WARNING SUMMARY
→[2023-06-27 15:09:51,573] [INFO] | 0|F:\系统临~1\ADMINI~1\QPT_Cache_V/1.0b4.dev6中 系 字符会可能影响使用。


→[2023-06-27 15:09:51,573] [INFO] | 1|当前系统的用户名中包含中文/空格等可能会对程序造成异常的字符,现已默认QPT临时目录为C:/q_tmp


→[2023-06-27 15:09:51,574] [INFO] | ----------ERROR SUMMARY
→[2023-06-27 15:09:51,574] [INFO] | ----------生成状态WARNING:2 ERROR:0
→[2023-06-27 15:09:51,576] [DEBUG] | SHELL: cd "E:\Python-WorkSpace\gas-ai\out\Debug\resources";./../Python/python.exe "E:\Python-WorkSpace\gas-ai\out\Debug\resources\main.py"
PS E:\Python-WorkSpace\gas-ai\out\Debug> cd "E:\Python-WorkSpace\gas-ai\out\Debug\resources";./../Python/python.exe "E:\Python-WorkSpace\gas-ai\out\Debug\resources\main.py"  ; echo "---QPT OUTPUT STATUS CODE---" $?
['E:\\Python-WorkSpace\\gas-ai\\out\\Debug\\resources\\main.py']
按钮被点击
> Entering new ConversationChain chain...
Prompt after formatting:
The following is a friendly conversation between a human and an AI. The AI is talkative and provides lots of specific details from its context. If the AI does not know the answer to a question, it truthfully says it does not know.
Current conversation:
Human: 你好
AI:
Retrying langchain.llms.openai.completion_with_retry.<locals>._completion_with_retry in 4.0 seconds as it raised APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))).
Retrying langchain.llms.openai.completion_with_retry.<locals>._completion_with_retry in 4.0 seconds as it raised APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))).
Retrying langchain.llms.openai.completion_with_retry.<locals>._completion_with_retry in 4.0 seconds as it raised APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))).
Retrying langchain.llms.openai.completion_with_retry.<locals>._completion_with_retry in 8.0 seconds as it raised APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))).
Retrying langchain.llms.openai.completion_with_retry.<locals>._completion_with_retry in 10.0 seconds as it raised APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))).
urllib3.exceptions.SSLError: EOF occurred in violation of protocol (_ssl.c:1129)
The above exception was the direct cause of the following exception:
urllib3.exceptions.ProxyError: ('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\requests\adapters.py", line 486, in send
    resp = conn.urlopen(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\urllib3\connectionpool.py", line 874, in urlopen
    return self.urlopen(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\urllib3\connectionpool.py", line 874, in urlopen
    return self.urlopen(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\urllib3\connectionpool.py", line 844, in urlopen
    retries = retries.increment(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\urllib3\util\retry.py", line 515, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\openai\api_requestor.py", line 596, in request_raw
    result = _thread_context.session.request(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\requests\sessions.py", line 587, in request    resp = self.send(prep, **send_kwargs)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\requests\sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\requests\adapters.py", line 513, in send
    raise ProxyError(e, request=request)
requests.exceptions.ProxyError: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "E:\Python-WorkSpace\gas-ai\out\Debug\resources\main.py", line 78, in send_button_event
    answer = self.conversation.predict(input=question)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\chains\llm.py", line 213, in predict
    return self(kwargs, callbacks=callbacks)[self.output_key]
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\chains\base.py", line 140, in __call__
    raise e
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\chains\base.py", line 134, in __call__
    self._call(inputs, run_manager=run_manager)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\chains\llm.py", line 69, in _call    response = self.generate([inputs], run_manager=run_manager)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\chains\llm.py", line 79, in generate
    return self.llm.generate_prompt(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\llms\base.py", line 134, in generate_prompt
    return self.generate(prompt_strings, stop=stop, callbacks=callbacks)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\llms\base.py", line 191, in generate
    raise e
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\llms\base.py", line 185, in generate
    self._generate(prompts, stop=stop, run_manager=run_manager)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\llms\openai.py", line 324, in _generate
    response = completion_with_retry(self, prompt=_prompts, **params)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\llms\openai.py", line 106, in completion_with_retry
    return _completion_with_retry(**kwargs)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\tenacity\__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\tenacity\__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\tenacity\__init__.py", line 325, in iter
    raise retry_exc.reraise()
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\tenacity\__init__.py", line 158, in reraise    raise self.last_attempt.result()
  File "E:\Python-WorkSpace\gas-ai\out\Debug\Python\lib\concurrent\futures\_base.py", line 438, in result
    return self.__get_result()
  File "E:\Python-WorkSpace\gas-ai\out\Debug\Python\lib\concurrent\futures\_base.py", line 390, in __get_result
    raise self._exception
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\langchain\llms\openai.py", line 104, in _completion_with_retry
    return llm.client.create(**kwargs)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\openai\api_resources\completion.py", line 25, in create
    return super().create(*args, **kwargs)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 153, in create
    response, _, api_key = requestor.request(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\openai\api_requestor.py", line 288, in request
    result = self.request_raw(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\openai\api_requestor.py", line 609, in request_raw
    raise error.APIConnectionError(
openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))))

完整运行日志(如打包时已报错,此处可选)


其他信息

Hi,开发者朋友,鉴于您是首次在QPT下新增Issue,请务必参考给定的Issue模板进行Issue的新增。
虽然形如版本号、打包日志等信息可能对你并不重要,但如未提供则可能会严重拖慢Issue的解决效率,因为他们对于QPT的维护者而言非常重要!
如您未按Issue模板进行内容补充,可关闭此Issue或Edit该Issue,社区维护者会对低效Issue直接Close,请悉知!

1的部分方便的话提供一下出错时的完整打包日志,有时候这类报错在日志中某个角落中会有具体的报错原因(通常是pip没有干好活)
2的部分我不太确定winproxy是如何被调用的,由于打包后的Python非常独立,走命令行的用法可能会失效,所以比较建议的是在py文件中完成代理的配置