- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在 openSUSE 42.2 上从源代码安装新的 Python(3.6,几周前发布)。一切
./configure --prefix /home/paul/2017 --enable-optimizations
make
make install
看起来工作得很好,但是当我调用 Shiny 的新解释器时,我收到此错误:
Python 3.6.0 (default, Jan 9 2017, 22:01:27)
[GCC 4.8.5] on linux
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
File "/home/paul/.pythonrc", line 7, in <module>
import readline
ModuleNotFoundError: No module named 'readline'
现在,该模块就在那里,它安装在 $PREFIX/lib64/python3.6/lib-dynload/readline.cpython-36m-x86_64-linux-gnu.so 下。只是解释器没有看那里(它完全忽略了 lib64,我用 -vv 检查过)。
更新:需要明确的是,这不仅影响 readline,还影响 lib64 下的所有内容,尤其是 lib-dynload 下的模块。
这似乎是一个已知问题,请参阅 the Python bugtracker 。这是一次相当漫长的交流,结束于
Is there agreement on what needs doing here? I'd like to see this into 3.5 before it reaches its 10th birthday :)
这让我有点困惑。这件事应该得到解决吗?我不记得以前遇到过这个问题,所以我想知道这是否是 3.6 的回归。
显然,任何修复都会受到欢迎。
更新:目前我可以通过将 lib64 下的所有内容符号链接(symbolic link)到 lib 来解决该问题。显然,这不是一个理想的解决方案;至少它一开始就违背了引入 lib64(能够同时拥有 32 位和 64 位版本)的目的。我更喜欢配置文件中的某些内容。
最佳答案
opensuse openSUSE:Factory python3x
有相应的补丁。
链接: Python 3.6 Python 3.8 Python 3.9
规范文件通常是一个很好的起点。
注意:install
步骤将在 /usr/local/bin
中安装 python3
。将其更改为 altinstall
可以避免隐藏系统范围的 python3
。
创建一个 downloads
变量,指向将保存所有下载文件( python source 和 factory patches )的目录
export downloads=/usr/local/build/downloads
在用户可写目录中:
tar --no-same-owner -xvf $downloads/Python-3.6.4.tar.xz
cd Python-3.6.4
patch -p1 < $downloads/python-3.6.0-multilib-new.patch
patch -p0 < $downloads/python-3.3.0b1-localpath.patch
patch -p0 < $downloads/python-3.3.0b1-curses-panel.patch
# mind this step, otherwise
# none of the modules in `lib-dynload` could be imported !
autoreconf -i
mkdir build; cd $_
../configure --enable-optimizations --enable-ipv6 \
--with-fpectl --enable-shared --with-system-ffi \
--with-system-expat --enable-loadable-sqlite-extensions
make -j $(nproc)
# altinstall, not install (see above)
sudo make altinstall
要删除已安装的文件:
sudo rm -rf /usr/local/lib64/python3.6/
sudo rm -f /usr/local/lib64/libpython3.6m*
sudo rm -f /usr/local/lib64/libpython3.so
sudo rm -f /usr/local/lib64/pkgconfig/python-3.6*
sudo rm -f /usr/local/bin/python-3.6*
tar --no-same-owner -xvf $downloads/Python-3.7.3.tar.xz
cd Python-3.7.3
patch -p1 < $downloads/python-3.7.3-python-3.6.0-multilib.patch
patch -p1 < $downloads/python-3.7.3-distutils-reproducible-compile.patch
patch -p0 < $downloads/python-3.7.3-python-3.3.0b1-localpath.patch
patch -p0 < $downloads/python-3.7.3-00251-change-user-install-location.patch
# do not forget !
autoreconf -i
mkdir build; cd $_
../configure --enable-optimizations --enable-ipv6 --enable-shared --with-system-ffi --with-system-expat --enable-loadable-sqlite-extensions
make -j $(nproc)
sudo make altinstall
tar --no-same-owner -xvf $downloads/Python-3.8.1.tar.xz
cd Python-3.8.1/
patch -p1 < $downloads/python-3.8.1-F00102-lib64.patch
patch -p1 < $downloads/python-3.8.1-F00251-change-user-install-location.patch
patch -p1 < $downloads/python-3.8.1-SUSE-FEDORA-multilib.patch
patch -p1 < $downloads/python-3.8.1-distutils-reproducible-compile.patch
patch -p1 < $downloads/python-3.8.1-python-3.3.0b1-localpath.patch
# do not forget !
autoreconf -i
mkdir build; cd $_
../configure --enable-optimizations --enable-ipv6 --enable-shared \
--with-system-ffi --with-system-expat \
--enable-loadable-sqlite-extensions
make -j $(nproc)
# altinstall, not install (see above)
sudo make altinstall
关于python 3.6安装和lib64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41558535/
根据 g++ -print-search-dirs,我的 C++ 编译器正在许多目录中搜索库,包括 ... /lib/../lib/: /usr/lib/../lib/: /库/: /usr/lib/
我在 GLUT 演示的顶部看到了代码,我很好奇它的功能。 为什么有人要编写#pragma 而不是只包含库? 最佳答案 此 pragma 允许库作者根据一系列可在编译时分析的标准定义库导入。例如,您可以
Intel describes libm.lib 作为静态库,libmmt.lib 作为多线程静态库 (/MT) 和 libmmds.lib 作为多线程静态库 (/MD) 都实现了 LibM Math
我在 Windows 7 32 位上使用 Visual Studio 2010。 我在 http://www.directxtutorial.com/Lesson.aspx?lessonid=9-4-
我正在尝试将一些 html 转换为 pdf。经过一些谷歌搜索后,我发现 dompdf但是当我尝试转换时,我会检索 PHP-font-lib must either be installed via c
目前我的visual studio基本上是在生成Engine.dll和Game.exe Engine.dll 链接到其他一些基本库,例如:d3dx9d.libComCtl32.libWinMM.lib
我正在尝试将 material-ui 用于项目。使用它时会抛出以下错误: 我曾尝试通过 github 存储库解决类似问题,但没有任何运气。任何人都有任何想法可能是什么问题?我正在添加 package.
为了简化,我有两个库:libA.lib、libB.lib libA 具有以下功能: void read(num,*val){ *val=Globalval[num]; ... } libB: void
我有一个包含两个项目的 VS2010 解决方案。第一个项目 [DevLib] 是一个库,它基本上是另一个我们没有源代码的库 [ExtLib] 的包装器。构建这个库工作正常。 第二个项目 [TestAp
我想用我做了一些小更改的系统库替换它。这两个库都是使用相同版本的cyanogenmod 源代码编译的。我复制到 SD 卡的那个可以在早期的 CM 闪存上运行。 现在我尝试运行以下命令: $ adb s
我正在使用源代码中的Postgres 13(Rel_13_STRATE分支),并且我使用的是来自apachea/age源代码的(Release/PG13/1.3.0分支)中的1.3.0版的Apache
看起来 Jetty 团队想要在版本 6 和 7 之间进行一些 Spring 清理,并且看起来好像一个有用的系统属性“jetty.lib”不存在、不起作用,或者只是在未指定的情况下发生了更改以便使我的
我正在尝试使用 unixODBC 连接到 Oracle,但它不起作用。到目前为止,我已经尝试关注 How do I setup Oracle ODBC drivers on RHEL 6/Linux
我在我的 Linux Mint 14 Nadia 中安装了 Matlab(a uname -a 显示:Linux Ideapad-Z570 3.5.0-17-generic#28-Ubuntu SMP
我有一个需要使用 macdeployqt 设置的应用程序,但是当我调用它时,它告诉我它无法在/usr/lib/目录中找到一些库。 在调用 macdeployqt 之前,我必须将 3 个库 (.tx)
此特定问题是由于指定对路径中包含空格的 lib 文件的依赖项引起的。路径需要用引号括起来,项目才能正确编译。 在项目属性的Configuration Properties -> Linker -> I
我正在努力尝试让 OpenCV 2.2 库与我的项目(运行 VSC++,2010)一起工作。我按照 http://opencv.willowgarage.com/wiki/VisualC%2B%2B
总而言之,我想要的是避免在多个 .dll 中出现重复的 .lib 文件,因为生成的 .dll 将在一个 .exe 文件中一起使用,这会使 .lib 文件中的全局状态重复。 具体问题: 我有一个包含 3
我正在尝试使用 Intel TBB 和 IPP 构建 OpenCV v2.3.1。我使用 CMake 生成 Visual Studio 2010 解决方案。构建成功,我在输出中有 opencv_cor
我不明白 use local::lib 经常做 use lib 没有。有人可以解释一下吗? 最佳答案 常规 use lib foo几乎就像这样简单: BEGIN { unshift(@INC, foo
我是一名优秀的程序员,十分优秀!