擅长:python、mysql、java
<p>Python不会将当前工作路径添加到模块搜索路径中,它只会将顶级脚本的路径添加到搜索路径中,当然也会搜索<code>PYTHONPATH</code>、<code>sys path</code>等</p>
<p>对于您的情况,将不搜索当前工作路径<code>/usr/pose_recognizer</code>,只搜索<code>/usr/pose_recognizer/poses/server</code>。所以,它肯定找不到名为“poses”的模块</p>
<p>要使其适合您,请提供一些选项:</p>
<p><strong>选项1:作为模块执行<code>server_multithreaded.py</code>:</strong></p>
<pre><code>python -m poses.server.server_multithreaded
</code></pre>
<p><strong>选项2:将<code>server_multithreaded.py</code>中的<code>sys.path</code>更改为<code>from poses.poseapp.poseapp_sockets import PoseAppWSockets</code>之前的下一个:</strong></p>
<pre><code>import sys
import os
file_path = os.path.abspath(os.path.dirname(__file__)).replace('\\', '/')
lib_path = os.path.abspath(os.path.join(file_path, '../..')).replace('\\', '/')
sys.path.append(lib_path)
</code></pre>
<p><strong>选项3:更改dockerfile:</strong></p>
<pre><code>WORKDIR /usr/pose_recognizer
ENV PYTHONPATH=.
CMD ["python3", "./poses/server/server_multithreaded.py"]
</code></pre>