From 2c94a74d4443eaa20e2ef9424ae8da63cbf71eda Mon Sep 17 00:00:00 2001 From: CJL6015 <1253368419@qq.com> Date: Sat, 29 Nov 2025 11:31:08 +0800 Subject: [PATCH] Update project configuration and add new dependencies - Added a new launch configuration for Flask debugging in .vscode/launch.json. - Updated requirements.txt with new dependencies. - Added compiled Python bytecode for PCA_Test.py in __pycache__. - Introduced a new MSSQL connection module with methods for executing queries and fetching results. - Implemented data retrieval functionality for historical values and model information. --- .idea/FlaskWebApi.iml | 6 +- .idea/misc.xml | 2 +- .idea/workspace.xml | 275 ++++++------------ .vscode/launch.json | 31 +++ PCA_Test.py | 53 +++- PCA_Train.py | 2 +- __pycache__/PCA_Test.cpython-310.pyc | Bin 7667 -> 7679 bytes __pycache__/PCA_Test.cpython-312.pyc | Bin 0 -> 14807 bytes __pycache__/PCA_Test_offline.cpython-310.pyc | Bin 7475 -> 7487 bytes __pycache__/config.cpython-310.pyc | Bin 233 -> 245 bytes __pycache__/recon.cpython-310.pyc | Bin 8489 -> 8501 bytes environment.yml | 276 ------------------- requirements.txt | Bin 476 -> 508 bytes 13 files changed, 172 insertions(+), 473 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 __pycache__/PCA_Test.cpython-312.pyc delete mode 100644 environment.yml diff --git a/.idea/FlaskWebApi.iml b/.idea/FlaskWebApi.iml index 23be14f..126c967 100644 --- a/.idea/FlaskWebApi.iml +++ b/.idea/FlaskWebApi.iml @@ -1,10 +1,10 @@ - - + + - + diff --git a/.idea/misc.xml b/.idea/misc.xml index 7a5c067..de7816d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 8d26335..b237f1e 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,16 +1,24 @@ + + - - - - - + + + @@ -35,12 +49,27 @@ - - - - - + + + - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + C:\Users\Administrator\AppData\Roaming\Subversion @@ -238,6 +122,7 @@ @@ -273,6 +158,9 @@ + + @@ -657,7 +545,7 @@ @@ -995,4 +893,7 @@ + + + \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..dc25acd --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,31 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python Debugger: Flask", + "type": "debugpy", + "request": "launch", + "module": "flask", + "env": { "FLASK_APP": "app.py", "FLASK_DEBUG": "1" }, + "args": ["run", "--no-debugger", "--no-reload"], + "jinja": true, + "autoStartBrowser": false + }, + { + "name": "Python Debugger: Flask", + "type": "debugpy", + "request": "launch", + "module": "flask", + "env": { + "FLASK_APP": "app.py", + "FLASK_DEBUG": "1" + }, + "args": ["run", "--no-debugger", "--no-reload"], + "jinja": true, + "autoStartBrowser": false + } + ] +} diff --git a/PCA_Test.py b/PCA_Test.py index 29ec88c..fde9b82 100644 --- a/PCA_Test.py +++ b/PCA_Test.py @@ -7,7 +7,7 @@ PCA source code import numpy as np import json -import pymssql +import pymysql import requests import config @@ -144,15 +144,58 @@ class MSSQL: self.conn.commit() self.conn.close() + +class MySQL: + def __init__(self, host, user, pwd, database): + self.host = host + self.user = user + self.pwd = pwd + self.db = database + + def __GetConnect(self): + """建立 MySQL 连接并返回 cursor""" + if not self.db: + raise NameError("没有设置数据库信息") + + self.conn = pymysql.connect( + host=self.host, + port=config._PORT, # MySQL 端口,例:3306 + user=self.user, + password=self.pwd, + database=self.db, + charset="utf8mb4", + cursorclass=pymysql.cursors.Cursor + ) + + cur = self.conn.cursor() + if not cur: + raise NameError("连接数据库失败") + + return cur + + def ExecQuery(self, sql): + """执行查询语句并返回结果 list(tuple)""" + cur = self.__GetConnect() + cur.execute(sql) + resList = cur.fetchall() + self.conn.close() + return resList + + def ExecNonQuery(self, sql): + """执行非查询语句""" + cur = self.__GetConnect() + cur.execute(sql) + self.conn.commit() + self.conn.close() def get_model_by_ID(model_id, version="v-test"): - ms = MSSQL(host=config._SQL_IP, user="root", pwd="123456", database="alert") - resList = ms.ExecQuery(f"SELECT Model_info FROM model_cfg where model_id={model_id}") + ms = MySQL(host=config._SQL_IP, user="root", pwd="powerSIS#123", database="alert") + resList = ms.ExecQuery(f"SELECT Model_info FROM model_cfg where id={model_id}") return json.loads(resList[0][0]) def get_model_by_id_and_version(model_id, version): - ms = MSSQL(host=config._SQL_IP, user="root", pwd="123456", database="alert") - resList = ms.ExecQuery(f"SELECT Model_info FROM model_version where model_id={model_id} and version='{version}'") + ms = MySQL(host=config._SQL_IP, user="root", pwd="powerSIS#123", database="alert") + resList = ms.ExecQuery(f"SELECT Model_info FROM model_version where id={model_id} and version='{version}'") return json.loads(resList[0][0]) def pca(model, Data_origin): diff --git a/PCA_Train.py b/PCA_Train.py index dea65b5..8edee1d 100644 --- a/PCA_Train.py +++ b/PCA_Train.py @@ -252,7 +252,7 @@ def clearmain(info): Eachsampletime["TerminalTime"] = timess[1] SamplingTimePeriods.append(Eachsampletime) Constraint = Constraint.replace("\n", " ") - url = f"http://{config._CLEAN_IP}/exawebapi/exatime/GetCleaningData?ItemsInfo=%s&SamplingTimePeriods=%s&Constraint=%s&SamplingPeriod=%s&DCount=%d" % ( + url = f"http://{config._CLEAN_IP}/api/exawebapi/exatime/GetCleaningData?ItemsInfo=%s&SamplingTimePeriods=%s&Constraint=%s&SamplingPeriod=%s&DCount=%d" % ( ItemsInfo, SamplingTimePeriods, Constraint, interval, DCount) response = requests.get(url) content = json.loads(response.text) diff --git a/__pycache__/PCA_Test.cpython-310.pyc b/__pycache__/PCA_Test.cpython-310.pyc index 106d838ddd3c9d8eeffbe8b83a4985d091668999..cadb7c07e47e41cfffc8bfa1db0cc3701f340c7d 100644 GIT binary patch delta 973 zcmYL|%TE+R5Qph~%+A6-Kwk2SKmfBOuq>d7AfN)tB5x3)orTRfG|S-3&RRVyE>R>g zA$ab;z=U`-nl&*VOuTt99z1BAvo}x1lPB#O6PRSaRR5}~tERf=_vqizh#ieqR>-Gj zvDbJV`AE91=p&gm&VXn1UGwrlX3Ex!7Rx(4vuDG-jAk-$%0I~qf072a3@t|k+{oo! zzsd4$2pHed3XBHqJmYRaw+khzm_}YRb5wi?))Oke2B#!jlw-*gMH;{3izL%N;MGu?sHTu6zR z;qwuy=tbZ*Bz!Pb{u16GO;>S`pl;fnB?2&nE5F(lc4U!ngMkWv#DAR4rG90)j z7YV-?4%g8;CO${3>Pu*PDU)bTiRW#N&CoCHyYl5YUbR9cs-ngsQRo+sq7TnL4^o&j zEU`ZzdgE=PC)QGjxiBh0L)q2kx$MjmOp3Kww?cguha2KBHbhp%o0wKTgON88vxqs- z9bZxA(OeRb;}c}9{67B2CrADE+<2UZG|0(0I8Y-as0h?{c2d;m+BwR)Q1#+gqL~~P` z9F_H^PkxdX18ptq-bapLq>aEMh8Us`;T`)~J6j0qpWoe5@ECN4}|7!y}+Ozy&k(NEyQxG;LpkYJp}FX#Tx|K4-%WB#Omq}q&N zu;qaGDx;s4U$wm_M|#JG3mXQk78H$wRj3+es`YBhqWzP+aHqMatSS}mG1ZFB-5S-o z52(4U)F}5DIyJecWYn5m(o|j1gs-OR>%zST7KB6<@CtDD)jLi&>yb7Eccs^4fUWrK z)^lh$j~KE~`A?9;`vUjZ6w?%4m0^V43iOd-_B0S5;=Yoh>$GISz7vM9fF$%KwUYPB znYsBK_N41Vtb=Jl(gi8|OQ1+PE}_+1(hQR(J&?kY+g#IN!p^l8Npcc9xr{(#UaVQI zsuoO%LDKEmVH&d&jJH)IqZm3k76T{&}jQ0n$rS# zpPaoiEl*}(mMNi=5_eTim|>4YXNk<-hLlJSomUYHh-<7rJTG0x@Fsf{zDN}NL-?0V z9O%147sA}9Kt*iUf`h`rStQ!k#r@T~W~nu;3Ee2V&3Y9Q7)h3)siwtQF4}!;5tlrT zC=29UOsa_!UZACZplmxj+}De_9?bc(nY1i!nu3PIz!F~ixMC@wqGtuM%6><0lZM@B z|3*lf6=P?l8>r{mvsi*8*qd0FkGt!j!5#KJHr2{q)Dq7|0fnpT}y?oMM8?mrYB}egR|Q`r9It-_E&m# (EYVX89IA?*7U+Y57***QUd*4Vi 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 U;_GAKw>Eu7*x^D;WS#5(1vG6(TmS$7 literal 0 HcmV?d00001 diff --git a/__pycache__/PCA_Test_offline.cpython-310.pyc b/__pycache__/PCA_Test_offline.cpython-310.pyc index e1af82205fba569b10fcb4a5c13f1583b26cd522..559a9f1ecda584caf78f2fdf5919e5cc6f0decd9 100644 GIT binary patch delta 243 zcmdmNwcm;-pO=@50SE;BwK6yII5JB*CR@dX7N-^!$0TRvm>I;lTYxcYbB@SXM#iYgN@78bA(KnRnz#diMid2th@i<#;vX2hHh&i9WD-jPiLe8S zTbw0DiFw5Z`9PCHCksg_GftdrCbgS!{p3$l`xsYE-YD(PJrkrj6+~oCW|nbc>jE*? zPxh8kbZG$@!I74klbV;93v?SurVvDI2T5=hTDHLo?nz5lbDlQR1%Y$pOTuRo0FKdxsaJn zknz^$3X!dhjJGE1i3Kr+PHq%y;tmArE(!t>!ISyKKQQ)e{x8nSB$f;kVFwboI7^BW z^NI`di&KljCd)}FGftlDB(j5!0P7aq* zbZG+_!I74klbV;93v>}krU*pr1W9lez$)pO=@50SGQzT+Eor<1J)lpl4*JXJ}}qXJle*Wno}pGBMLqLfhFYraZqW YJ0>wFwWuT}H$NpcM>i)iY2q<`0G+xOCIA2c diff --git a/__pycache__/recon.cpython-310.pyc b/__pycache__/recon.cpython-310.pyc index 4d24c2fc9db2cb35fd15c0a7f081aa70716da626..7b3a105102cba7cac9d367f0207c687278fc548d 100644 GIT binary patch delta 63 zcmZ4KwAG0xpO=@50SE;BwK6yIgfgm_C0oUW7N-^!$0TRvm>I;lt!A5p@6n diff --git a/environment.yml b/environment.yml deleted file mode 100644 index e492002..0000000 --- a/environment.yml +++ /dev/null @@ -1,276 +0,0 @@ -name: C:\ProgramData\Anaconda3 -channels: -- file:///C:/Users/Administrator/Downloads -- defaults -dependencies: -- _ipyw_jlab_nb_ext_conf=0.1.0=py36he6757f0_0 -- alabaster=0.7.10=py36hcd07829_0 -- anaconda=5.0.1=py36h8316230_2 -- anaconda-client=1.6.5=py36hd36550c_0 -- anaconda-navigator=1.6.9=py36hc720852_0 -- anaconda-project=0.8.0=py36h8b3bf89_0 -- asn1crypto=0.22.0=py36h8e79faa_1 -- astroid=1.5.3=py36h9d85297_0 -- astropy=2.0.2=py36h06391c4_4 -- babel=2.5.0=py36h35444c1_0 -- backports=1.0=py36h81696a8_1 -- backports.shutil_get_terminal_size=1.0.0=py36h79ab834_2 -- beautifulsoup4=4.6.0=py36hd4cc5e8_1 -- bitarray=0.8.1=py36h6af124b_0 -- bkcharts=0.2=py36h7e685f7_0 -- blaze=0.11.3=py36h8a29ca5_0 -- bleach=2.0.0=py36h0a7e3d6_0 -- bokeh=0.12.10=py36h0be3b39_0 -- boto=2.48.0=py36h1a776d2_1 -- bottleneck=1.2.1=py36hd119dfa_0 -- bzip2=1.0.6=vc14hdec8e7a_1 -- ca-certificates=2017.08.26=h94faf87_0 -- cachecontrol=0.12.3=py36hfe50d7b_0 -- certifi=2017.7.27.1=py36h043bc9e_0 -- cffi=1.10.0=py36hae3d1b5_1 -- chardet=3.0.4=py36h420ce6e_1 -- click=6.7=py36hec8c647_0 -- cloudpickle=0.4.0=py36h639d8dc_0 -- clyent=1.2.2=py36hb10d595_1 -- colorama=0.3.9=py36h029ae33_0 -- comtypes=1.1.2=py36heb9b3d1_0 -- conda=4.3.30=py36h7e176b0_0 -- conda-build=3.0.27=py36h309a530_0 -- conda-env=2.6.0=h36134e3_1 -- conda-verify=2.0.0=py36h065de53_0 -- console_shortcut=0.1.1=h6bb2dd7_3 -- contextlib2=0.5.5=py36he5d52c0_0 -- cryptography=2.0.3=py36h123decb_1 -- curl=7.55.1=vc14hdaba4a4_3 -- cycler=0.10.0=py36h009560c_0 -- cython=0.26.1=py36h18049ac_0 -- cytoolz=0.8.2=py36h547e66e_0 -- dask=0.15.3=py36h396fcb9_0 -- dask-core=0.15.3=py36hd651449_0 -- datashape=0.5.4=py36h5770b85_0 -- decorator=4.1.2=py36he63a57b_0 -- distlib=0.2.5=py36h51371be_0 -- distributed=1.19.1=py36h8504682_0 -- docutils=0.14=py36h6012d8f_0 -- entrypoints=0.2.3=py36hfd66bb0_2 -- et_xmlfile=1.0.1=py36h3d2d736_0 -- fastcache=1.0.2=py36hffdae1b_0 -- filelock=2.0.12=py36hd7ddd41_0 -- flask=0.12.2=py36h98b5e8f_0 -- flask-cors=3.0.3=py36h8a3855d_0 -- freetype=2.8=vc14h17c9bdf_0 -- get_terminal_size=1.0.0=h38e98db_0 -- gevent=1.2.2=py36h342a76c_0 -- glob2=0.5=py36h11cc1bd_1 -- greenlet=0.4.12=py36ha00ad21_0 -- h5py=2.7.0=py36hfbe0a52_1 -- hdf5=1.10.1=vc14hb361328_0 -- heapdict=1.0.0=py36h21fa5f4_0 -- html5lib=0.999999999=py36ha09b1f3_0 -- icc_rt=2017.0.4=h97af966_0 -- icu=58.2=vc14hc45fdbb_0 -- idna=2.6=py36h148d497_1 -- imageio=2.2.0=py36had6c2d2_0 -- imagesize=0.7.1=py36he29f638_0 -- intel-openmp=2018.0.0=hcd89f80_7 -- ipykernel=4.6.1=py36hbb77b34_0 -- ipython=6.1.0=py36h236ecc8_1 -- ipython_genutils=0.2.0=py36h3c5d0ee_0 -- ipywidgets=7.0.0=py36h2e74ada_0 -- isort=4.2.15=py36h6198cc5_0 -- itsdangerous=0.24=py36hb6c5a24_1 -- jdcal=1.3=py36h64a5255_0 -- jedi=0.10.2=py36hed927a0_0 -- jinja2=2.9.6=py36h10aa3a0_1 -- jpeg=9b=vc14h4d7706e_1 -- jsonschema=2.6.0=py36h7636477_0 -- jupyter=1.0.0=py36h422fd7e_2 -- jupyter_client=5.1.0=py36h9902a9a_0 -- jupyter_console=5.2.0=py36h6d89b47_1 -- jupyter_core=4.3.0=py36h511e818_0 -- jupyterlab=0.27.0=py36h34cc53b_2 -- jupyterlab_launcher=0.4.0=py36h22c3ccf_0 -- lazy-object-proxy=1.3.1=py36hd1c21d2_0 -- libiconv=1.15=vc14h29686d3_5 -- libpng=1.6.32=vc14h5163883_3 -- libssh2=1.8.0=vc14hcf584a9_2 -- libtiff=4.0.8=vc14h04e2a1e_10 -- libxml2=2.9.4=vc14h8fd0f11_5 -- libxslt=1.1.29=vc14hf85b8d4_5 -- llvmlite=0.20.0=py36_0 -- locket=0.2.0=py36hfed976d_1 -- lockfile=0.12.2=py36h0468280_0 -- lxml=4.1.0=py36h0dcd83c_0 -- lzo=2.10=vc14h0a64fa6_1 -- markupsafe=1.0=py36h0e26971_1 -- matplotlib=2.1.0=py36h11b4b9c_0 -- mccabe=0.6.1=py36hb41005a_1 -- menuinst=1.4.10=py36h42196fb_0 -- mistune=0.7.4=py36h4874169_0 -- mkl=2018.0.0=h36b65af_4 -- mkl-service=1.1.2=py36h57e144c_4 -- mpmath=0.19=py36he326802_2 -- msgpack-python=0.4.8=py36h58b1e9d_0 -- multipledispatch=0.4.9=py36he44c36e_0 -- navigator-updater=0.1.0=py36h8a7b86b_0 -- nbconvert=5.3.1=py36h8dc0fde_0 -- nbformat=4.4.0=py36h3a5bc1b_0 -- networkx=2.0=py36hff991e3_0 -- nltk=3.2.4=py36hd0e0a39_0 -- nose=1.3.7=py36h1c3779e_2 -- notebook=5.0.0=py36hd9fbf6f_2 -- numba=0.35.0=np113py36_10 -- numexpr=2.6.2=py36h7ca04dc_1 -- numpy=1.13.3=py36ha320f96_0 -- numpydoc=0.7.0=py36ha25429e_0 -- odo=0.5.1=py36h7560279_0 -- olefile=0.44=py36h0a7bdd2_0 -- openpyxl=2.4.8=py36hf3b77f6_1 -- openssl=1.0.2l=vc14hcac20b0_2 -- packaging=16.8=py36ha0986f6_1 -- pandas=0.20.3=py36hce827b7_2 -- pandoc=1.19.2.1=hb2460c7_1 -- pandocfilters=1.4.2=py36h3ef6317_1 -- partd=0.3.8=py36hc8e763b_0 -- path.py=10.3.1=py36h3dd8b46_0 -- pathlib2=2.3.0=py36h7bfb78b_0 -- patsy=0.4.1=py36h42cefec_0 -- pep8=1.7.0=py36h0f3d67a_0 -- pickleshare=0.7.4=py36h9de030f_0 -- pillow=4.2.1=py36hdb25ab2_0 -- pip=9.0.1=py36hadba87b_3 -- pkginfo=1.4.1=py36hb0f9cfa_1 -- ply=3.10=py36h1211beb_0 -- progress=1.3=py36hbeca8d3_0 -- prompt_toolkit=1.0.15=py36h60b8f86_0 -- psutil=5.4.0=py36h4e662fb_0 -- py=1.4.34=py36ha4aca3a_1 -- pycodestyle=2.3.1=py36h7cc55cd_0 -- pycosat=0.6.2=py36hf17546d_1 -- pycparser=2.18=py36hd053e01_1 -- pycrypto=2.6.1=py36he68e6e2_1 -- pycurl=7.43.0=py36h086bf4c_3 -- pyflakes=1.6.0=py36h0b975d6_0 -- pygments=2.2.0=py36hb010967_0 -- pylint=1.7.4=py36ha4e6ded_0 -- pyodbc=4.0.17=py36h0006bc2_0 -- pyopenssl=17.2.0=py36h15ca2fc_0 -- pyparsing=2.2.0=py36h785a196_1 -- pyqt=5.6.0=py36hb5ed885_5 -- pysocks=1.6.7=py36h698d350_1 -- pytables=3.4.2=py36h71138e3_2 -- pytest=3.2.1=py36h753b05e_1 -- python=3.6.3=h9e2ca53_1 -- python-dateutil=2.6.1=py36h509ddcb_1 -- pytz=2017.2=py36h05d413f_1 -- pywavelets=0.5.2=py36hc649158_0 -- pywin32=221=py36h9c10281_0 -- pyyaml=3.12=py36h1d1928f_1 -- pyzmq=16.0.2=py36h38c27d9_2 -- qt=5.6.2=vc14h6f8c307_12 -- qtawesome=0.4.4=py36h5aa48f6_0 -- qtconsole=4.3.1=py36h99a29a9_0 -- qtpy=1.3.1=py36hb8717c5_0 -- requests=2.18.4=py36h4371aae_1 -- rope=0.10.5=py36hcaf5641_0 -- ruamel_yaml=0.11.14=py36h9b16331_2 -- scikit-image=0.13.0=py36h6dffa3f_1 -- scikit-learn=0.19.1=py36h53aea1b_0 -- scipy=0.19.1=py36h7565378_3 -- seaborn=0.8.0=py36h62cb67c_0 -- setuptools=36.5.0=py36h65f9e6e_0 -- simplegeneric=0.8.1=py36heab741f_0 -- singledispatch=3.4.0.3=py36h17d0c80_0 -- sip=4.18.1=py36h9c25514_2 -- six=1.11.0=py36h4db2310_1 -- snowballstemmer=1.2.1=py36h763602f_0 -- sortedcollections=0.5.3=py36hbefa0ab_0 -- sortedcontainers=1.5.7=py36ha90ac20_0 -- sphinx=1.6.3=py36h9bb690b_0 -- sphinxcontrib=1.0=py36hbbac3d2_1 -- sphinxcontrib-websupport=1.0.1=py36hb5e5916_1 -- spyder=3.2.4=py36h8845eaa_0 -- sqlalchemy=1.1.13=py36h5948d12_0 -- sqlite=3.20.1=vc14h7ce8c62_1 -- statsmodels=0.8.0=py36h6189b4c_0 -- sympy=1.1.1=py36h96708e0_0 -- tblib=1.3.2=py36h30f5020_0 -- testpath=0.3.1=py36h2698cfe_0 -- tk=8.6.7=vc14hb68737d_1 -- toolz=0.8.2=py36he152a52_0 -- tornado=4.5.2=py36h57f6048_0 -- traitlets=4.3.2=py36h096827d_0 -- typing=3.6.2=py36hb035bda_0 -- unicodecsv=0.14.1=py36h6450c06_0 -- urllib3=1.22=py36h276f60a_0 -- vc=14=h2379b0c_2 -- vs2015_runtime=14.0.25123=hd4c4e62_2 -- wcwidth=0.1.7=py36h3d5aa90_0 -- webencodings=0.5.1=py36h67c50ae_1 -- werkzeug=0.12.2=py36h866a736_0 -- wheel=0.29.0=py36h6ce6cde_1 -- widgetsnbextension=3.0.2=py36h364476f_1 -- win_inet_pton=1.0.1=py36he67d7fd_1 -- win_unicode_console=0.5=py36hcdbd4b5_0 -- wincertstore=0.2=py36h7fe50ca_0 -- wrapt=1.10.11=py36he5f5981_0 -- xlrd=1.1.0=py36h1cb58dc_1 -- xlsxwriter=1.0.2=py36hf723b7d_0 -- xlwings=0.11.4=py36hd3cf94d_0 -- xlwt=1.3.0=py36h1a4751e_0 -- yaml=0.1.7=vc14hb31d195_1 -- zict=0.1.3=py36h2d8e73e_0 -- zlib=1.2.11=vc14h1cdd9ab_1 -- pytorch=1.6.0=py3.6_cpu_0 -- pip: - - absl-py==0.9.0 - - altgraph==0.17 - - astor==0.8.1 - - backports.shutil-get-terminal-size==1.0.0 - - coolprop==6.4.1 - - docopt==0.6.2 - - et-xmlfile==1.0.1 - - future==0.18.2 - - gast==0.3.3 - - google-pasta==0.2.0 - - grpcio==1.30.0 - - imbalanced-learn==0.7.0 - - imblearn==0.0 - - importlib-metadata==1.7.0 - - ipython-genutils==0.2.0 - - jenkspy==0.1.5 - - joblib==0.16.0 - - jupyter-client==5.1.0 - - jupyter-console==5.2.0 - - jupyter-core==4.3.0 - - jupyterlab-launcher==0.4.0 - - keras==2.4.3 - - keras-applications==1.0.8 - - keras-preprocessing==1.1.2 - - markdown==3.2.2 - - mdp==3.6 - - model-performance==0.0.2 - - pefile==2019.4.18 - - pipreqs==0.4.11 - - prompt-toolkit==1.0.15 - - protobuf==3.12.4 - - pyexecjs==1.5.1 - - pyinstaller==4.2 - - pyinstaller-hooks-contrib==2020.11 - - pymssql==2.1.4 - - pywin32-ctypes==0.2.0 - - ruamel-yaml==0.11.14 - - smote==0.1 - - tables==3.4.2 - - tensorboard==1.14.0 - - tensorflow==1.14.0 - - tensorflow-estimator==1.14.0 - - termcolor==1.1.0 - - threadpoolctl==2.1.0 - - torch==1.6.0 - - win-inet-pton==1.0.1 - - win-unicode-console==0.5 - - yarg==0.1.9 - - zipp==3.1.0 -prefix: C:\ProgramData\Anaconda3 - diff --git a/requirements.txt b/requirements.txt index e14ed3f17a0e8b0167a25dd7f8aba1981ab9189a..476659f9dd9c9b03f831e49af2651bb75c836096 100644 GIT binary patch delta 40 qcmcb^{D*nN9YzIS1}=sIhDwH9ATDMoWXNHtW3Xi~WY7a+BL)E4=m>29 delta 7 Ocmeyve200%9Yz2T9s_Iu