首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >制作python 3时找不到-lsqlite3,sqlite3模块不工作

制作python 3时找不到-lsqlite3,sqlite3模块不工作
EN

Stack Overflow用户
提问于 2019-02-14 20:15:43
回答 1查看 359关注 0票数 1

我正在尝试在RHEL7上安装python,这需要从源代码制作python。当我尝试这样做的时候,我遇到了这个错误

代码语言:javascript
复制
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libsqlite3.so when searching for -lsqlite3
/usr/bin/ld: skipping incompatible //lib/libsqlite3.so when searching for -lsqlite3
/usr/bin/ld: skipping incompatible //usr/lib/libsqlite3.so when searching for -lsqlite3
/usr/bin/ld: cannot find -lsqlite3
collect2: error: ld returned 1 exit status
warning: building with the bundled copy of libffi is deprecated on this platform.  It will not be distributed with Python 3.7

Python build finished successfully!
The necessary bits to build these optional modules were not found:
_bz2                  _curses               _curses_panel      
_lzma                 _tkinter              readline           
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

The following modules found by detect_modules() in setup.py, have been
built by the Makefile instead, as configured by the Setup files:
atexit                pwd                   time               

Failed to build these modules:
_sqlite3                                                       

running build_scripts

当我尝试make的时候。

当我查看这些路径时,我发现了以下内容,而且我还安装了sqlite3:

代码语言:javascript
复制
[brad@reason Downloads]$ ls /usr/lib/gcc | grep sql
[brad@reason Downloads]$ ls /lib | grep sql
libodbcpsqlS.so
libodbcpsqlS.so.2
libodbcpsqlS.so.2.0.0
libsqlite3.so
libsqlite3.so.0
libsqlite3.so.0.8.6
[brad@reason Downloads]$ ls /usr/lib | grep sql
libodbcpsqlS.so
libodbcpsqlS.so.2
libodbcpsqlS.so.2.0.0
libsqlite3.so
libsqlite3.so.0
libsqlite3.so.0.8.6
[brad@reason Downloads]$ sqlite3
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> 

我不确定我做错了什么。显然没有lsqlite3.so库文件,但我不确定从哪里获得它。我读到我需要为RHEL安装sqlite-devel,但当我尝试这样做时,似乎缺少所需的存储库。我想我的雇主修改了回购清单。如何查看是否已安装此程序?我尝试过从RPM安装它,但我认为它失败了(需要一长串依赖项)。

代码语言:javascript
复制
[root@reason Downloads]# yum install -y sqlite sqlite-devel
Loaded plugins: downloadkvmonly-background, ibm-check-lotus-updates, ibm-check-upgrade, ibm-check-xorg-updates, ibm-repository, langpacks, post-transaction-actions, refresh-packagekit, versionlock
Cannot reach IBM Intranet network. Please ensure you have an active IBM connection.
http://people.centos.org/tru/devtools-2/7Workstation/x86_64/RPMS/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please open a ticket with Red Hat Support.



 One of the configured repositories failed (testing 2 devtools for CentOS 7Workstation),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=testing-devtools-2-centos-7Workstation ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable testing-devtools-2-centos-7Workstation
        or
            subscription-manager repos --disable=testing-devtools-2-centos-7Workstation

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=testing-devtools-2-centos-7Workstation.skip_if_unavailable=true

failure: repodata/repomd.xml from testing-devtools-2-centos-7Workstation: [Errno 256] No more mirrors to try.
http://people.centos.org/tru/devtools-2/7Workstation/x86_64/RPMS/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found

我希望能够建立python和为_sqlite3模块建立。目前,_sqlite3无法构建,这导致import sqlite3不能在python中工作,而这是它应该做的。我曾经考虑过在docker容器中安装python,但我认为这并不能完全满足我的需求。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-14 20:48:28

@some-programmer-some是正确的。我安装的sqlite3是32位版本。我刚刚下载了源代码,构建、制作和安装。现在我不再有丢失的_sqlite3库了。我错误地使用了来自the download page的预编译的linux二进制文件,因为它们只预编译了32位版本。我应该从一开始就构建它。感谢一些-程序员-伙计。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54690191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档