{"id":5755,"date":"2025-07-20T11:13:44","date_gmt":"2025-07-20T03:13:44","guid":{"rendered":"https:\/\/www.hmouse.cn\/?p=5755"},"modified":"2025-07-20T11:13:44","modified_gmt":"2025-07-20T03:13:44","slug":"mlfinlab%e5%ae%b9%e5%99%a8%e5%8c%96%e4%b9%8b%e6%97%85","status":"publish","type":"post","link":"https:\/\/www.hmouse.cn\/?p=5755","title":{"rendered":"mlfinlab\u5bb9\u5668\u5316\u4e4b\u65c5"},"content":{"rendered":"<p>\u4e8b\u60c5\u8d77\u56e0\u662f\u6211\u8981\u7528mlfinlab\u91cc\u9762\u7684\u51fd\u6570\u3002\u4f46\u662f\u7531\u4e8e\u540e\u671fmlfinlab\u5546\u4e1a\u5316\uff0c\u6211\u60f3\u7528\u514d\u8d39\u7684\u7248\u672c\uff0c\u53ea\u627e\u5230\u4e2amlfinlab-0.15.3-py3-none-any.whl\u5b89\u88c5\u5305\uff0c\u4f46\u662f\u7531\u4e8e\u4e45\u8fdc\uff0c\u5b89\u88c5\u5b8c\u4e4b\u540e\uff0c\u8c03\u7528\u51fd\u6570\u5404\u79cd\u62a5\u9519\u3002<\/p>\n<p>Python 3.7.15 (default, Nov 24 2022, 21:12:53)<br \/>\n[GCC 11.2.0] :: Anaconda, Inc. on linux<br \/>\nType &#8220;help&#8221;, &#8220;copyright&#8221;, &#8220;credits&#8221; or &#8220;license&#8221; for more information.<br \/>\n&gt;&gt;&gt; import mlfinlab<br \/>\nRuntimeError: module compiled against API version 0xe but this version of numpy is 0xd<br \/>\nTraceback (most recent call last):<br \/>\nFile &#8220;&lt;stdin&gt;&#8221;, line 1, in &lt;module&gt;<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/mlfinlab\/__init__.py&#8221;, line 22, in &lt;module&gt;<br \/>\nimport mlfinlab.portfolio_optimization as portfolio_optimization<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/mlfinlab\/portfolio_optimization\/__init__.py&#8221;, line 5, in &lt;module&gt;<br \/>\nfrom mlfinlab.portfolio_optimization.modern_portfolio_theory import CriticalLineAlgorithm<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/mlfinlab\/portfolio_optimization\/modern_portfolio_theory\/__init__.py&#8221;, line 5, in &lt;module&gt;<br \/>\nfrom mlfinlab.portfolio_optimization.modern_portfolio_theory.mean_variance import MeanVarianceOptimisation<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/mlfinlab\/portfolio_optimization\/modern_portfolio_theory\/mean_variance.py&#8221;, line 9, in &lt;module&gt;<br \/>\nimport cvxpy as cp<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/__init__.py&#8221;, line 18, in &lt;module&gt;<br \/>\nfrom cvxpy.atoms import *<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/atoms\/__init__.py&#8221;, line 20, in &lt;module&gt;<br \/>\nfrom cvxpy.atoms.geo_mean import geo_mean<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/atoms\/geo_mean.py&#8221;, line 20, in &lt;module&gt;<br \/>\nfrom cvxpy.utilities.power_tools import (fracify, decompose, approx_error, lower_bound,<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/utilities\/power_tools.py&#8221;, line 18, in &lt;module&gt;<br \/>\nfrom cvxpy.atoms.affine.reshape import reshape<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/atoms\/affine\/reshape.py&#8221;, line 18, in &lt;module&gt;<br \/>\nfrom cvxpy.atoms.affine.hstack import hstack<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/atoms\/affine\/hstack.py&#8221;, line 18, in &lt;module&gt;<br \/>\nfrom cvxpy.atoms.affine.affine_atom import AffAtom<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/atoms\/affine\/affine_atom.py&#8221;, line 22, in &lt;module&gt;<br \/>\nfrom cvxpy.cvxcore.python import canonInterface<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/cvxcore\/python\/__init__.py&#8221;, line 3, in &lt;module&gt;<br \/>\nimport _cvxcore<br \/>\nImportError: numpy.core.multiarray failed to import<\/p>\n<p>\u6216\u8005numpy\u5347\u7ea7 \u5bfc\u81f4\u51fd\u6570\u65e0\u6cd5\u4f7f\u7528\uff0c\u540e\u6765\u5c31\u60f3\u7740\u8fd9\u4e8b\u5b89\u88c5\u73af\u5883\uff0c\u4e0d\u5982\u7528docker\u7eaf\u7cb9\u3002\u5c31\u60f3\u5b9e\u73b0mlfinlab-0.15.3\u5bb9\u5668\u5316\u3002<\/p>\n<p>\u8fd9\u6b21\u4e3b\u8981\u662f\u901a\u8fc7deepseek R1 \u548c google gemini \u53bb\u5b9e\u73b0\u7684\uff0c\u5c31\u662f\u63d0\u4f9b\u5b89\u88c5\u6587\u4ef6\uff0c\u7136\u540e\u8ba9\u5b83\u5199dockerfile\u6587\u4ef6\u5bb9\u5668\u5316\u3002<\/p>\n<p>\u6d4b\u8bd5\u4e0b\u6765deepseek R1\u6ca1\u80fd\u5b8c\u6210\u76ee\u6807\uff0cgoogle gemini \u6700\u7ec8\u5b8c\u6210\u4e86\uff0c\u8017\u65f6\u4e00\u5468\uff0c\u771f\u7684\u662f\u7d2f\u6b7b\u3002<\/p>\n<p>\u8fd9\u4e5f\u8bf4\u660e\u5f53\u524dAI \u4e2d google gemini \u7b97\u9886\u5148\u4e86\u3002<\/p>\n<p>\u6700\u7ec8google gemini \u63d0\u4f9b\u7684dockerfile\u6587\u4ef6\uff1a<\/p>\n<p># 1. \u4f7f\u7528\u517c\u5bb9\u7684 Python \u57fa\u7840\u955c\u50cf<br \/>\nFROM python:3.8-slim<\/p>\n<p># 2. \u5b89\u88c5\u7cfb\u7edf\u7ea7\u7684\u7f16\u8bd1\u5de5\u5177<br \/>\nRUN apt-get update &amp;&amp; \\<br \/>\napt-get install -y build-essential &amp;&amp; \\<br \/>\napt-get clean &amp;&amp; \\<br \/>\nrm -rf \/var\/lib\/apt\/lists\/*<\/p>\n<p># 3. \u8bbe\u7f6e\u5de5\u4f5c\u76ee\u5f55<br \/>\nWORKDIR \/app<\/p>\n<p># 4. \u590d\u5236\u672c\u5730\u7684 wheel \u6587\u4ef6\u5230\u955c\u50cf\u4e2d<br \/>\nCOPY mlfinlab-0.15.3-py3-none-any.whl .<\/p>\n<p># 5. \u3010\u6700\u7ec8\u65b9\u6848\u3011\u5206\u6b65\u5e76\u5f3a\u5236\u4f7f\u7528\u5168\u5c40\u73af\u5883\u6765\u5b89\u88c5\u4f9d\u8d56<br \/>\n# \u6b65\u9aa4 5a: \u9996\u5148\u5b89\u88c5 numpy<br \/>\nRUN pip install numpy==1.18.5<\/p>\n<p># \u6b65\u9aa4 5b: \u5b89\u88c5\u5176\u4f59\u6240\u6709\u4f9d\u8d56\u5305<br \/>\nRUN pip install \\<br \/>\n&#8211;no-build-isolation \\<br \/>\npandas==1.0.4 \\<br \/>\nscipy==1.4.1 \\<br \/>\nstatsmodels==0.11.1 \\<br \/>\nscikit-learn==0.23.1 \\<br \/>\nmatplotlib==3.2.1 \\<br \/>\nseaborn \\<br \/>\nnumba==0.49.1 \\<br \/>\ntensorflow==2.2.1 \\<br \/>\ncvxpy==1.1.1 \\<br \/>\nanalytics-python==1.2.9 \\<br \/>\ngetmac==0.8.2 \\<br \/>\nPOT==0.7.0 \\<br \/>\ndash==1.14.0 \\<br \/>\ndash-bootstrap-components==0.10.3 \\<br \/>\ndash-core-components==1.10.2 \\<br \/>\ndash-html-components==1.0.3 \\<br \/>\ndash-table==4.9.0 \\<br \/>\njupyter-dash==0.3.1 \\<br \/>\ndash-cytoscape==0.2.0 \\<br \/>\nWerkzeug==2.0.3 \\<br \/>\nnetworkx==2.5<\/p>\n<p># 6. \u4f7f\u7528 &#8211;no-deps \u5b89\u88c5 mlfinlab<br \/>\nRUN pip install &#8211;no-deps mlfinlab-0.15.3-py3-none-any.whl<\/p>\n<p># 7. \u3010\u7ec8\u6781\u4fee\u6b63\u3011\u4f7f\u7528 sed \u547d\u4ee4\u5bf9\u5df2\u5b89\u88c5\u7684 mlfinlab \u4ee3\u7801\u8fdb\u884c\u6c38\u4e45\u6027\u4fee\u590d<br \/>\n# \u4e00\u6b21\u6027\u6ce8\u91ca\u6389 __init__.py \u6587\u4ef6\u4e2d\u6240\u6709\u5df2\u77e5\u7684\u3001\u6709\u95ee\u9898\u7684\u9065\u6d4b\u8c03\u7528<br \/>\nRUN sed -i -e &#8220;s\/devadarsh.page(&#8216;Import&#8217;)\/# devadarsh.page(&#8216;Import&#8217;)\/g&#8221; \\<br \/>\n-e &#8220;s\/devadarsh.identify()\/# devadarsh.identify()\/g&#8221; \\<br \/>\n\/usr\/local\/lib\/python3.8\/site-packages\/mlfinlab\/__init__.py<\/p>\n<p># 8. \u4f7f\u7528\u72ec\u7acb\u7684\u811a\u672c\u6587\u4ef6\u8fdb\u884c\u9a8c\u8bc1<br \/>\nCOPY verify.py .<br \/>\nRUN python3 verify.py<\/p>\n<p># 9. (\u53ef\u9009) \u5b89\u88c5 Jupyter Lab<br \/>\nRUN pip install jupyterlab<\/p>\n<p># 10. (\u53ef\u9009) \u66b4\u9732\u7aef\u53e3<br \/>\nEXPOSE 8888<\/p>\n<p># 11. (\u53ef\u9009) \u8bbe\u7f6e\u542f\u52a8\u547d\u4ee4<br \/>\nCMD [&#8220;jupyter&#8221;, &#8220;lab&#8221;, &#8220;&#8211;ip=0.0.0.0&#8221;, &#8220;&#8211;port=8888&#8221;, &#8220;&#8211;no-browser&#8221;, &#8220;&#8211;allow-root&#8221;]<\/p>\n<p>\u53e6\u5916\u9700\u8981\u5355\u72ecverify.py \u7684\u6587\u4ef6\u3002<\/p>\n<p>verify.py\u5982\u4e0b\uff1a<\/p>\n<p># verify.py<\/p>\n<p># \u5bfc\u5165\u6240\u6709\u6838\u5fc3\u5e93<br \/>\nimport numpy as np<br \/>\nimport scipy<br \/>\nimport mlfinlab<\/p>\n<p># &#8212; \u5f00\u59cb\u9a8c\u8bc1 &#8212;<br \/>\nprint(&#8216;&#8212;&#8212; Verification Start &#8212;&#8212;&#8216;)<br \/>\nprint(f&#8217;NumPy version: {np.__version__}&#8217;)<br \/>\nprint(f&#8217;SciPy version: {scipy.__version__}&#8217;)<br \/>\n# mlfinlab \u5e93\u6ca1\u6709 __version__ \u5c5e\u6027\uff0c\u4f46 import \u6210\u529f\u5373\u4ee3\u8868\u5b89\u88c5\u6210\u529f<br \/>\nprint(&#8216;MLFinLab module imported successfully!&#8217;)<br \/>\nprint(&#8216;&#8212;&#8212; Verification End: All looks good! Build successful! &#8212;&#8212;&#8216;)<\/p>\n<p>&nbsp;<\/p>\n<p>\u6700\u7ec8\u6d4b\u8bd5mlfinlab\u6ca1\u6709\u62a5\u9519\uff0cmlfinlab \u6211\u9700\u8981\u7684\u51fd\u6570\u4e5f\u6b63\u5e38\u4f7f\u7528\uff0c\u5b8c\u7f8e\u3002<br \/>\n\u6700\u540e\u5c31\u4e3b\u673a\u4e0b\u8f7d\u6700\u65b0python:3.8\uff08\u8001\u7248\u672c\u7684python3.8 \u4f1a\u5f02\u5e38\u62a5\u9519\uff1apython3.8\/site-packages\/_cvxcore.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZSt28__throw_bad_array_new_lengthv \u6700\u597d\u4e0b\u8f7d\u6700\u65b0\u7684\u7248\u672c\uff0c\u5c31\u6ca1\u95ee\u9898\uff09\uff0c\u6309\u7167\u6b65\u9aa4\u91cd\u65b0\u5b89\u88c5\u5230\u672c\u5730\uff0c\u5b8c\u7f8e\u89e3\u51b3\u95ee\u9898\u3002<br \/>\n\u540e\u7eed\u7ee7\u7eed\u6d4b\u8bd5\u3002\u5b8c\u7f8e\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e8b\u60c5\u8d77\u56e0\u662f\u6211\u8981\u7528mlfinlab\u91cc\u9762\u7684\u51fd\u6570\u3002\u4f46\u662f\u7531\u4e8e\u540e\u671fmlfinlab\u5546\u4e1a\u5316\uff0c\u6211\u60f3\u7528\u514d\u8d39\u7684\u7248\u672c\uff0c\u53ea\u627e\u5230\u4e2amlfinlab-0.15.3-py3-none-any.whl\u5b89\u88c5\u5305\uff0c\u4f46\u662f\u7531\u4e8e\u4e45\u8fdc\uff0c\u5b89\u88c5\u5b8c\u4e4b\u540e\uff0c\u8c03\u7528\u51fd\u6570\u5404\u79cd\u62a5\u9519\u3002<\/p>\n<p>Python 3.7.15 (default, Nov 24 2022, 21:12:53)<br \/>\n[GCC 11.2.0] :: Anaconda, Inc. on linux<br \/>\nType &#8220;help&#8221;, &#8220;copyright&#8221;, &#8220;credits&#8221; or &#8220;license&#8221; for more information.<br \/>\n&gt;&gt;&gt; import mlfinlab<br \/>\nRuntimeError: module compiled against API version 0xe but this version of numpy is 0xd<br \/>\nTraceback (most recent call last):<br \/>\nFile &#8220;&lt;stdin&gt;&#8221;, line 1, in &lt;module&gt;<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/mlfinlab\/__init__.py&#8221;, line 22, in &lt;module&gt;<br \/>\nimport mlfinlab.portfolio_optimization as portfolio_optimization<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/mlfinlab\/portfolio_optimization\/__init__.py&#8221;, line 5, in &lt;module&gt;<br \/>\nfrom mlfinlab.portfolio_optimization.modern_portfolio_theory import CriticalLineAlgorithm<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/mlfinlab\/portfolio_optimization\/modern_portfolio_theory\/__init__.py&#8221;, line 5, in &lt;module&gt;<br \/>\nfrom mlfinlab.portfolio_optimization.modern_portfolio_theory.mean_variance import MeanVarianceOptimisation<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/mlfinlab\/portfolio_optimization\/modern_portfolio_theory\/mean_variance.py&#8221;, line 9, in &lt;module&gt;<br \/>\nimport cvxpy as cp<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/__init__.py&#8221;, line 18, in &lt;module&gt;<br \/>\nfrom cvxpy.atoms import *<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/atoms\/__init__.py&#8221;, line 20, in &lt;module&gt;<br \/>\nfrom cvxpy.atoms.geo_mean import geo_mean<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/atoms\/geo_mean.py&#8221;, line 20, in &lt;module&gt;<br \/>\nfrom cvxpy.utilities.power_tools import (fracify, decompose, approx_error, lower_bound,<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/utilities\/power_tools.py&#8221;, line 18, in &lt;module&gt;<br \/>\nfrom cvxpy.atoms.affine.reshape import reshape<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/atoms\/affine\/reshape.py&#8221;, line 18, in &lt;module&gt;<br \/>\nfrom cvxpy.atoms.affine.hstack import hstack<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/atoms\/affine\/hstack.py&#8221;, line 18, in &lt;module&gt;<br \/>\nfrom cvxpy.atoms.affine.affine_atom import AffAtom<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/atoms\/affine\/affine_atom.py&#8221;, line 22, in &lt;module&gt;<br \/>\nfrom cvxpy.cvxcore.python import canonInterface<br \/>\nFile &#8220;\/root\/miniconda3_mlf_im\/lib\/python3.7\/site-packages\/cvxpy\/cvxcore\/python\/__init__.py&#8221;, line 3, in &lt;module&gt;<br \/>\nimport _cvxcore<br \/>\nImportError: numpy.core.multiarray failed to import<\/p>\n<p>\u6216\u8005numpy\u5347\u7ea7 \u5bfc\u81f4\u51fd\u6570\u65e0\u6cd5\u4f7f\u7528\uff0c\u540e\u6765\u5c31\u60f3\u7740\u8fd9\u4e8b\u5b89\u88c5\u73af\u5883\uff0c\u4e0d\u5982\u7528docker\u7eaf\u7cb9\u3002\u5c31\u60f3\u5b9e\u73b0mlfinlab-0.15.3\u5bb9\u5668\u5316\u3002<\/p>\n<p>\u8fd9\u6b21\u4e3b\u8981\u662f\u901a\u8fc7deepseek R1 \u548c google gemini \u53bb\u5b9e\u73b0\u7684\uff0c\u5c31\u662f\u63d0\u4f9b\u5b89\u88c5\u6587\u4ef6\uff0c\u7136\u540e\u8ba9\u5b83\u5199dockerfile\u6587\u4ef6\u5bb9\u5668\u5316\u3002<\/p>\n<p>\u6d4b\u8bd5\u4e0b\u6765deepseek R1\u6ca1\u80fd\u5b8c\u6210\u76ee\u6807\uff0cgoogle gemini \u6700\u7ec8\u5b8c\u6210\u4e86\uff0c\u8017\u65f6\u4e00\u5468\uff0c\u771f\u7684\u662f\u7d2f\u6b7b\u3002<\/p>\n<p>\u8fd9\u4e5f\u8bf4\u660e\u5f53\u524dAI \u4e2d google gemini \u7b97\u9886\u5148\u4e86\u3002<\/p>\n<p>\u6700\u7ec8google gemini \u63d0\u4f9b\u7684dockerfile\u6587\u4ef6\uff1a<\/p>\n<p># 1. \u4f7f\u7528\u517c\u5bb9\u7684 Python \u57fa\u7840\u955c\u50cf<br \/>\nFROM python:3.8-slim<\/p>\n<p># 2. \u5b89\u88c5\u7cfb\u7edf\u7ea7\u7684\u7f16\u8bd1\u5de5\u5177<br \/>\nRUN apt-get update &amp;&amp; \\<br \/>\napt-get install -y build-essential &amp;&amp; \\<br \/>\napt-get clean &amp;&amp; \\<br \/>\nrm -rf \/var\/lib\/apt\/lists\/*<\/p>\n<p># 3. \u8bbe\u7f6e\u5de5\u4f5c\u76ee\u5f55<br \/>\nWORKDIR \/app<\/p>\n<p># 4. \u590d\u5236\u672c\u5730\u7684 wheel \u6587\u4ef6\u5230\u955c\u50cf\u4e2d<br \/>\nCOPY mlfinlab-0.15.3-py3-none-any.whl .<\/p>\n<p># 5. \u3010\u6700\u7ec8\u65b9\u6848\u3011\u5206\u6b65\u5e76\u5f3a\u5236\u4f7f\u7528\u5168\u5c40\u73af\u5883\u6765\u5b89\u88c5\u4f9d\u8d56<br \/>\n# \u6b65\u9aa4 5a: \u9996\u5148\u5b89\u88c5 numpy<br \/>\nRUN pip install numpy==1.18.5<\/p>\n<p># \u6b65\u9aa4 5b: \u5b89\u88c5\u5176\u4f59\u6240\u6709\u4f9d\u8d56\u5305<br \/>\nRUN pip install \\<br \/>\n&#8211;no-build-isolation \\<br \/>\npandas==1.0.4 \\<br \/>\nscipy==1.4.1 \\<br \/>\nstatsmodels==0.11.1 \\<br \/>\nscikit-learn==0.23.1 \\<br \/>\nmatplotlib==3.2.1 \\<br \/>\nseaborn \\<br \/>\nnumba==0.49.1 \\<br \/>\ntensorflow==2.2.1 \\<br \/>\ncvxpy==1.1.1 \\<br \/>\nanalytics-python==1.2.9 \\<br \/>\ngetmac==0.8.2 \\<br \/>\nPOT==0.7.0 \\<br \/>\ndash==1.14.0 \\<br \/>\ndash-bootstrap-components==0.10.3 \\<br \/>\ndash-core-components==1.10.2 \\<br \/>\ndash-html-components==1.0.3 \\<br \/>\ndash-table==4.9.0 \\<br \/>\njupyter-dash==0.3.1 \\<br \/>\ndash-cytoscape==0.2.0 \\<br \/>\nWerkzeug==2.0.3 \\<br \/>\nnetworkx==2.5<\/p>\n<p># 6. \u4f7f\u7528 &#8211;no-deps \u5b89\u88c5 mlfinlab<br \/>\nRUN pip install &#8211;no-deps mlfinlab-0.15.3-py3-none-any.whl<\/p>\n<p># 7. \u3010\u7ec8\u6781\u4fee\u6b63\u3011\u4f7f\u7528 sed \u547d\u4ee4\u5bf9\u5df2\u5b89\u88c5\u7684 mlfinlab \u4ee3\u7801\u8fdb\u884c\u6c38\u4e45\u6027\u4fee\u590d<br \/>\n# \u4e00\u6b21\u6027\u6ce8\u91ca\u6389 __init__.py \u6587\u4ef6\u4e2d\u6240\u6709\u5df2\u77e5\u7684\u3001\u6709\u95ee\u9898\u7684\u9065\u6d4b\u8c03\u7528<br \/>\nRUN sed -i -e &#8220;s\/devadarsh.page(&#8216;Import&#8217;)\/# devadarsh.page(&#8216;Import&#8217;)\/g&#8221; \\<br \/>\n-e &#8220;s\/devadarsh.identify()\/# devadarsh.identify()\/g&#8221; \\<br \/>\n\/usr\/local\/lib\/python3.8\/site-packages\/mlfinlab\/__init__.py<\/p>\n<p># 8. \u4f7f\u7528\u72ec\u7acb\u7684\u811a\u672c\u6587\u4ef6\u8fdb\u884c\u9a8c\u8bc1<br \/>\nCOPY verify.py .<br \/>\nRUN python3 verify.py<\/p>\n<p># 9. (\u53ef\u9009) \u5b89\u88c5 Jupyter Lab<br \/>\nRUN pip install jupyterlab<\/p>\n<p># 10. (\u53ef\u9009) \u66b4\u9732\u7aef\u53e3<br \/>\nEXPOSE 8888<\/p>\n<p># 11. (\u53ef\u9009) \u8bbe\u7f6e\u542f\u52a8\u547d\u4ee4<br \/>\nCMD [&#8220;jupyter&#8221;, &#8220;lab&#8221;, &#8220;&#8211;ip=0.0.0.0&#8221;, &#8220;&#8211;port=8888&#8221;, &#8220;&#8211;no-browser&#8221;, &#8220;&#8211;allow-root&#8221;]<\/p>\n<p>\u53e6\u5916\u9700\u8981\u5355\u72ecverify.py \u7684\u6587\u4ef6\u3002<\/p>\n<p>verify.py\u5982\u4e0b\uff1a<\/p>\n<p># verify.py<\/p>\n<p># \u5bfc\u5165\u6240\u6709\u6838\u5fc3\u5e93<br \/>\nimport numpy as np<br \/>\nimport scipy<br \/>\nimport mlfinlab<\/p>\n<p># &#8212; \u5f00\u59cb\u9a8c\u8bc1 &#8212;<br \/>\nprint(&#8216;&#8212;&#8212; Verification Start &#8212;&#8212;&#8216;)<br \/>\nprint(f&#8217;NumPy version: {np.__version__}&#8217;)<br \/>\nprint(f&#8217;SciPy version: {scipy.__version__}&#8217;)<br \/>\n# mlfinlab \u5e93\u6ca1\u6709 __version__ \u5c5e\u6027\uff0c\u4f46 import \u6210\u529f\u5373\u4ee3\u8868\u5b89\u88c5\u6210\u529f<br \/>\nprint(&#8216;MLFinLab module imported successfully!&#8217;)<br \/>\nprint(&#8216;&#8212;&#8212; Verification End: All looks good! Build successful! &#8212;&#8212;&#8216;)<\/p>\n<p>&nbsp;<\/p>\n<p>\u6700\u7ec8\u6d4b\u8bd5mlfinlab\u6ca1\u6709\u62a5\u9519\uff0cmlfinlab \u6211\u9700\u8981\u7684\u51fd\u6570\u4e5f\u6b63\u5e38\u4f7f\u7528\uff0c\u5b8c\u7f8e\u3002<br \/>\n\u6700\u540e\u5c31\u4e3b\u673a\u4e0b\u8f7d\u6700\u65b0python:3.8\uff08\u8001\u7248\u672c\u7684python3.8 \u4f1a\u5f02\u5e38\u62a5\u9519\uff1apython3.8\/site-packages\/_cvxcore.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZSt28__throw_bad_array_new_lengthv \u6700\u597d\u4e0b\u8f7d\u6700\u65b0\u7684\u7248\u672c\uff0c\u5c31\u6ca1\u95ee\u9898\uff09\uff0c\u6309\u7167\u6b65\u9aa4\u91cd\u65b0\u5b89\u88c5\u5230\u672c\u5730\uff0c\u5b8c\u7f8e\u89e3\u51b3\u95ee\u9898\u3002<br \/>\n\u540e\u7eed\u7ee7\u7eed\u6d4b\u8bd5\u3002\u5b8c\u7f8e\uff01<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[371,385,426],"class_list":["post-5755","post","type-post","status-publish","format-standard","hentry","category-5","tag-docker","tag-mlfinlab","tag-426","category-5-id","post-seq-1","post-parity-odd","meta-position-corners","fix"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/posts\/5755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5755"}],"version-history":[{"count":1,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/posts\/5755\/revisions"}],"predecessor-version":[{"id":5756,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=\/wp\/v2\/posts\/5755\/revisions\/5756"}],"wp:attachment":[{"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hmouse.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}