<p>这个答案适用于可能从源代码编译Python的用户,也适用于没有管理员权限的用户(因此我不能使用<code>Homebrew</code>)。我也遇到了同样的错误,但是我的python环境是定制的,我没有使用anaconda或pyenv。另外,我的操作系统是<code>macOS mojave 10.14.6</code>。在</p>
<p>我从源包手动重新编译并重新配置<code>sqlite</code>。步骤:</p>
<ol>
<li>从这个<a href="https://sqlite.org/src/dir?ci=tip" rel="nofollow noreferrer">page</a>下载<code>sqlite</code><a href="https://www.sqlite.org/src/tarball/sqlite.tar.gz" rel="nofollow noreferrer">tarfile</a>。在</li>
<li>导航到<code>/path/to/python_dir/Python-3.x.x/Modules</code>,其中安装了<code>Python</code>版本。(因为我不是安装它的管理员:<code>/Users/myusername/python3</code>。):<code>/Users/myusername/python3/Python-3.6.8/Modules/</code></li>
<li>在<code>/Modules/</code>下提取<code>sqlite</code>:<code>tar zxf /Users/myusername/Downloads/sqlite.tar.gz</code></li>
<li><code>cd sqlite</code></li>
<li>本地配置<code>sqlite</code>:<code>./configure prefix='/Users/myusername/python3'</code><br/>
旁注:没有<code>prefix</code>选项<code>make install</code>将在默认位置安装文件。<a href="https://askubuntu.com/questions/424786/permission-denied-while-running-make-install">check this answer</a>。因此,如果python不在默认位置,请使用<code>prefix</code>选项。在</li>
<li><code>make && make install</code></li>
<li>返回python文件夹并重新配置python二进制文件,并指向<code>sqlite</code>:<br/>
<code>cd ../../</code>然后:<br/>
<code>./configure prefix='/Users/myusername/python3' with-sqlite='/Users/myusername/python3'</code>。在</li>
<li><code>make && make install</code></li>
</ol>
<p>旁注:如果您手动配置Python,并且不能使用<code>pip</code>安装某些库,那么您可能需要从源代码配置并重新编译该包。下载包的<code>tar</code>文件,并对包重复上述步骤。我也遇到了<code>zlib</code>和<code>openssl</code>的问题,我做了同样的事情。<br/>
您可能会发现其他一些有用的线程:<a href="https://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3">this</a>,可能是{a5}</p>