带有“--enable-shared”标志的奇怪 Python 编译结果

2023-11-25

我正在使用 Debian(附带 Python-2.7.3),尝试从源代码编译 Python-2.7.6,以便与 mod_wsgi 和 Apache 一起使用。

根据众多答案,显然,在编译 mod_wsgi 用法时,您必须使用 --enable-shared 。

请按照下列步骤操作:

./configure --enable-shared --prefix=/usr/local/bin/python-2.7.6
make
make install

然后检查交互式外壳@

/usr/local/bin/python-2.7.6/bin/python

我收到“Python 2.7.3(默认,2013 年 1 月 2 日,14:09:21)”等信息

为什么会出现 Python 2.7.3?

我尝试对可执行文件执行 ldd ,结果如下:

linux-vdso.so.1 =>  (0x00007fff271ff000)
libpython2.7.so.1.0 => /usr/lib/libpython2.7.so.1.0 (0x00007f1545638000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f154541c000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1545217000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f1545014000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1544d92000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1544a06000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f15447ef000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f15445d9000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1545b40000)

如何阻止它使用系统库并使用本地编译的版本?

我知道对我来说恢复使用系统安装的 Python 版本要容易得多,而且现实世界的差异为零。但这种行为似乎很奇怪。


当你做 Python 的 make 时,运行它:

LD_RUN_PATH=/usr/local/lib make

设置环境变量 LD_RUN_PATH 会强制生成的“python”可执行文件在 /usr/lib 之前先在 /usr/local/lib 中查找 Python 共享库。

mod_wsgi 文档中提到了这一点。

  • http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation#Python_Shared_Library

在再次执行此操作之前,请确保执行“make distclean”并重新运行配置以确保您没有旧的构建产品。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有“--enable-shared”标志的奇怪 Python 编译结果 的相关文章

  • 从哪里获取 iostream.h

    我正在尝试在 Linux 中做一些事情 但它抱怨找不到 iostream h 我需要安装什么才能获取此文件 这个标准头的正确名称是iostream没有扩展名 如果您的编译器仍然找不到它 请尝试以下操作 find usr include na
  • 字符串编码和解码?

    这是我对错误消息的尝试 我究竟做错了什么 string decode ascii ignore UnicodeEncodeError ascii 编解码器无法对字符 u xa0 进行编码 位置 37 序数不在范围内 128 string e
  • 处理大文件的最快方法?

    我有多个 3 GB 制表符分隔文件 每个文件中有 2000 万行 所有行都必须独立处理 任何两行之间没有关系 我的问题是 什么会更快 逐行阅读 with open as infile for line in infile 将文件分块读入内存
  • 如何在 robobrowser-python 中发出 POST 请求

    http robobrowser readthedocs org en latest api html http robobrowser readthedocs org en latest api html 我正在尝试使用 APIbrows
  • sqlalchemy 具有相同表名的多个数据库不起作用

    我正在使用 SQLAlchemy 使用 Python 处理两个数据库 这些数据库共享表名 因此在运行代码时收到错误消息 错误消息是 sqlalchemy exc InvalidRequestError Table wo is already
  • 按下按钮时有多个命令

    我想在单击按钮时运行多个功能 例如我希望我的按钮看起来像 self testButton Button self text test command func1 command func2 当我执行此语句时 我收到错误 因为我无法将某些内容
  • 使用 Python 2.7 和 MySQLdb 将二进制数据插入 MySQL 中的 blob 列时如何避免编码警告

    我在将二进制数据插入到longblob使用 Python 2 7 中的 MySQLdb 在 MySQL 中的列 但我收到一个编码警告 我不知道如何解决 test py 11 Warning Invalid utf8 character st
  • 类型错误:无法连接“str”和“int”对象有人可以帮助新手使用他们的代码吗?

    感谢任何帮助 还有任何重大缺陷或您在格式或基本方面看到的任何重大缺陷 请指出 谢谢 day raw input How many days locations raw input Where to days str day location
  • 使用 jar 依赖项构建 Android 库项目

    我已经被一个问题困扰了几天 但我不知道如何解决这个问题 我正在处理一个 Android 库项目 该项目正在使用 android sdk 提供的 Android 工具进行编译 在项目内部 我遵循 Android 项目的标准结构 我的 jar
  • 为什么 cmake 在 git commit 后编译所有内容

    假设我有时在 Linux 上使用 cmake 2 8 编译一段代码 我更改了一个文件 my changed file 运行 cmake 并且只构建了这个文件 到目前为止 一切都很好 现在我想提交这个 git add my changed f
  • pydev 断点不起作用

    我正在使用 python 2 7 2 sqlalchemy 0 7 unittest eclipse 3 7 2 和 pydev 2 4 开发一个项目 我在 python 文件 单元测 试文件 中设置断点 但它们被完全忽略 之前 在某些时候
  • 导入我自己的模块时出现“ImportError:没有名为...的模块”

    我正在尝试导入模块 但不断收到导入错误 在 PortfolioStatus py 文件中 我有以下代码 它从 share data py 模块导入 share data 类 from Shares share data import sha
  • 为什么Eclipse不需要我配置JDK?

    我最近将 Eclipse 下载到 Windows 7 计算机上 该机器已经有 JRE 但我注意到它没有 JDK 我担心我必须下载 JDK 然后将 Eclipse 连接到它 当我能够在 Eclipse 中直接进行编码 编译和运行时 我感到 愉
  • TypeError:无法使用抽象方法实例化抽象类 <...>

    这是我的代码 from abc import ABC from abc import abstractmethod class Mamifiero ABC docstring for Mamifiero def init self self
  • 在使用“apt-get”安装软件包之前如何检查版本?

    我正在考虑安装hylafax 版本 5 5 4 于上个月在我的网站上发布Debian http en wikipedia org wiki Debian PC 我检查了dpkg l grep hylafax 发现当前版本是5 5 3 然后我
  • 如何为大量标头生成 .pch?

    我的代码一直使用 libcxx sdl 和其他一些库 考虑到每个标头可以包含一些其他标头 即使具有像 ifdef include endif 这样的复杂条件 我如何生成 pch 这就是为什么很难理解所需的头文件列表 我应该只使用在中找到的所
  • python 找不到 pydicom 模块

    错误信息 In 1 import pydicom as dicomio ImportError Traceback most recent call last
  • 如何从外部模块导出符号?

    我在内核源代码树之外进行编码 有两个模块 第一个printt有一个功能printtty 将字符串打印到当前 tty 以及第二个模块hello这会调用printtty 在初始化期间 我已经添加了EXPORT SYMBOL printtty 在
  • 使用 GCC 生成可读的程序集?

    我想知道如何使用GCC http en wikipedia org wiki GNU Compiler Collection在我的 C 源文件中转储机器代码的助记符版本 这样我就可以看到我的代码被编译成什么 你可以使用 Java 来做到这一
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2

随机推荐

  • Java 中的“类型不明确”错误是什么?

    在下面的代码中 我在最后一行收到编译器的错误 列表类型不明确 在尝试定义 cgxHist 列表的行上 我究竟做错了什么 import java awt import javax swing import java util public c
  • 学习Ruby:推荐阅读的博客? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我即将开始学习 Ruby 并且想要一些阅读材料来帮助我学习 我正在寻找你的top 5Ruby 上的博客 新闻和任何 活跃的 公告板 我可以很好地处理新闻组 但我更喜欢在 BB 中阅读
  • MySQL“二进制”与“char字符集二进制”

    有什么区别binary 10 vs char 10 character set binary And varbinary 10 vs varchar 10 character set binary 它们是同义词吗allMySQL 引擎 有什
  • 将负 y 轴转换为正 (matplotlib)

    I want to plot bar chart for some parameters for men and women I have done like this 我想显示上侧 正 y 轴 的平均值和下侧 负 x 轴 女性的频率 在这
  • 使用 php 显示当前页面的活动导航

    我正在尝试使用 current url basename SERVER PHP SELF 为了确定我在哪个页面 考虑到我的导航 html 存储在 php 文件中并包含在每个页面中 这是我用来确定哪个导航选项应处于活动状态的代码 ul ul
  • NHibernate QueryOver 选择实体和聚合

    我想要做的是显示一个简单的数据网格 其中包含实体数据及其子项的聚合数据 例如 让我们使用订单和行项目 我想显示订单信息以及行项目数 订单 ID 订单日期 行项目数 现在通常在 SQL 中你可以通过多种方式做到这一点 但这是我能想到的在转换为
  • 将 TypeScript 编译器加载到 ClearScript 中,“WScript 未定义”,不可能完成的任务?

    我尝试使用清晰脚本加载打字稿编译器来编译一些基本的 TypeScript 代码 不幸的是 当执行 TypeScript 编译器源代码时 我收到此错误 WScript 未定义 这是LINQPad我使用过的程序 放置 ClearScript d
  • 提升::变体; std::unique_ptr 和复制

    这个问题确定了不可复制类型不能与Boost变体一起使用 Tree class template
  • SIMD 常量浮点数

    我一直在尝试使用微软的 sse 内在函数来优化一些代码 优化代码时最大的问题之一是每当我想使用常量时就会发生 LHS 似乎有一些关于生成某些常量的信息 here and 此处 第 13 4 节 但都是组装 我宁愿避免 问题是 当我尝试使用内
  • 如何在 IIS 中使用性能计数器和 WCF 服务?

    Hi 我在 IIS7 中有一个 WCF 服务 它通过 TCP WAS 与 winform 应用程序进行通信 现在我需要监视性能 我已将其添加到 web config 文件中
  • 并发调用单例对象的Java方法

    我有一个关于 Java 中多线程方法调用的问题 假设我们有一个单例对象 其类声明如下 public class SomeClass public void someMethod SomeValueObject object if objec
  • 带有连接字符串的实体框架 DbContext 构造函数

    有人可以帮助我理解以下两种将连接字符串传递给的方法DbContext 方法 1 public EWebDBContextEMS base mainConnectionString 和方法 2 public EWebDBContextEMS
  • Swift 中“static var”和“var”的区别

    Swift 中 static var 和 var 的主要区别是什么 有人可以用一个小例子向我解释这种差异吗 static var属于类型本身 而var属于类型的实例 特定类型的特定值 例如 struct Car static var num
  • PropertySource 在 ConditionalOnExpression 评估期间不可用

    我有以下组件类 我想根据属性实例化它 Component componentA PropertySource classpath components properties ConditionalOnExpression component
  • android4.0中按串行顺序执行异步任务

    我已经实现了2个异步任务 我使用的是android4 0 其中一个异步任务连续执行 第二个异步任务根据需要执行 可能多次 例如 class AsynTask1 exetends AsyncTask
  • 在 Scala 中,我如何将事件驱动编程与函数式方法结合起来?

    为了澄清事件驱动的含义 我指的是一种情况 def onTrade 每次特定股票交易时都会调用它 假设我想跟踪每日最高交易价格 对我来说 显而易见的解决方案是 var dailyHigh 0 def onTrade if price gt d
  • 汇编语言中的伪随机生成器

    我需要一个用于课程中分配的汇编程序的伪随机数生成器算法 并且我更喜欢一个简单的算法 但是 我无法使用外部库 什么是好的 简单的汇编伪随机数生成器算法 简单的方法是选择两个大的相对素数 a 和 b 然后继续将随机数乘以 a 并加上 b 使用模
  • 如何根据模式将列表拆分为子集?

    我正在这样做 但感觉这可以用更少的代码来实现 毕竟是Python 从列表开始 我根据字符串前缀将该列表拆分为子集 Splitting a list into subsets expected outcome sub 0 a sub 0 b
  • python中的三重引号

    所以我明白如果我执行以下操作 print Anything I type in here works Multiple LINES woohoo 但是如果下面是我的 python 脚本怎么办 This is my python Script
  • 带有“--enable-shared”标志的奇怪 Python 编译结果

    我正在使用 Debian 附带 Python 2 7 3 尝试从源代码编译 Python 2 7 6 以便与 mod wsgi 和 Apache 一起使用 根据众多答案 显然 在编译 mod wsgi 用法时 您必须使用 enable sh