mirror of
https://github.com/microsoft/qlib.git
synced 2026-06-06 05:51:17 +08:00
fix(client): fix missing dependencies and unsafe pickle usage (#2072)
* fix(client): fix missing dependencies and unsafe pickle usage * ci: exclude client extra from default install to avoid macOS CI failures * fix: CI error * ci: install dependencies with --no-cache-dir to avoid disk space issues
This commit is contained in:
23
Makefile
23
Makefile
@@ -74,34 +74,37 @@ prerequisite:
|
|||||||
|
|
||||||
# Install the package in editable mode.
|
# Install the package in editable mode.
|
||||||
dependencies:
|
dependencies:
|
||||||
python -m pip install -e .
|
python -m pip install --no-cache-dir -e .
|
||||||
|
|
||||||
lightgbm:
|
lightgbm:
|
||||||
python -m pip install lightgbm --prefer-binary
|
python -m pip install --no-cache-dir lightgbm --prefer-binary
|
||||||
|
|
||||||
rl:
|
rl:
|
||||||
python -m pip install -e .[rl]
|
python -m pip install --no-cache-dir -e .[rl]
|
||||||
|
|
||||||
develop:
|
develop:
|
||||||
python -m pip install -e .[dev]
|
python -m pip install --no-cache-dir -e .[dev]
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
python -m pip install -e .[lint]
|
python -m pip install --no-cache-dir -e .[lint]
|
||||||
|
|
||||||
docs:
|
docs:
|
||||||
python -m pip install -e .[docs]
|
python -m pip install --no-cache-dir -e .[docs]
|
||||||
|
|
||||||
package:
|
package:
|
||||||
python -m pip install -e .[package]
|
python -m pip install --no-cache-dir -e .[package]
|
||||||
|
|
||||||
test:
|
test:
|
||||||
python -m pip install -e .[test]
|
python -m pip install --no-cache-dir -e .[test]
|
||||||
|
|
||||||
analysis:
|
analysis:
|
||||||
python -m pip install -e .[analysis]
|
python -m pip install --no-cache-dir -e .[analysis]
|
||||||
|
|
||||||
|
client:
|
||||||
|
python -m pip install --no-cache-dir -e .[client]
|
||||||
|
|
||||||
all:
|
all:
|
||||||
python -m pip install -e .[pywinpty,dev,lint,docs,package,test,analysis,rl]
|
python -m pip install --no-cache-dir -e .[pywinpty,dev,lint,docs,package,test,analysis,rl]
|
||||||
|
|
||||||
install: prerequisite dependencies
|
install: prerequisite dependencies
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,10 @@ analysis = [
|
|||||||
"plotly",
|
"plotly",
|
||||||
"statsmodels",
|
"statsmodels",
|
||||||
]
|
]
|
||||||
|
client = [
|
||||||
|
"python-socketio<6",
|
||||||
|
"tables",
|
||||||
|
]
|
||||||
|
|
||||||
# In the process of releasing a new version, when checking the manylinux package with twine, an error is reported:
|
# In the process of releasing a new version, when checking the manylinux package with twine, an error is reported:
|
||||||
# InvalidDistribution: Invalid distribution metadata: unrecognized or malformed field 'license-file'
|
# InvalidDistribution: Invalid distribution metadata: unrecognized or malformed field 'license-file'
|
||||||
|
|||||||
@@ -2,15 +2,15 @@
|
|||||||
# Licensed under the MIT License.
|
# Licensed under the MIT License.
|
||||||
|
|
||||||
|
|
||||||
from __future__ import division
|
from __future__ import division, print_function
|
||||||
from __future__ import print_function
|
|
||||||
|
import json
|
||||||
|
|
||||||
import socketio
|
import socketio
|
||||||
|
|
||||||
import qlib
|
import qlib
|
||||||
from ..config import C
|
|
||||||
from ..log import get_module_logger
|
from ..log import get_module_logger
|
||||||
import pickle
|
|
||||||
|
|
||||||
|
|
||||||
class Client:
|
class Client:
|
||||||
@@ -96,7 +96,7 @@ class Client:
|
|||||||
self.logger.debug("connected")
|
self.logger.debug("connected")
|
||||||
# The pickle is for passing some parameters with special type(such as
|
# The pickle is for passing some parameters with special type(such as
|
||||||
# pd.Timestamp)
|
# pd.Timestamp)
|
||||||
request_content = {"head": head_info, "body": pickle.dumps(request_content, protocol=C.dump_protocol_version)}
|
request_content = {"head": head_info, "body": json.dumps(request_content, default=str)}
|
||||||
self.sio.on(request_type + "_response", request_callback)
|
self.sio.on(request_type + "_response", request_callback)
|
||||||
self.logger.debug("try sending")
|
self.logger.debug("try sending")
|
||||||
self.sio.emit(request_type + "_request", request_content)
|
self.sio.emit(request_type + "_request", request_content)
|
||||||
|
|||||||
Reference in New Issue
Block a user