当前位置:首页 » 编程语言 » modpythonrpm

modpythonrpm

发布时间: 2022-05-17 17:37:28

1. windows安装mod_python未生成mod_python.so

在windows上需要.so是非常奇怪的……因为那是linux下动态链接库的拓展名。windows下是dll。

题主最好转到linux下去做这些。

2. 怎样得到在windows环境下与python2.7匹配可用的mod_python.so

http://archive.apache.org/dist/httpd/modpython/
去找,只有python2.5是编译好的,其它的需要编译,不过其实可以把文件中的python25.dll改为你想要的python27.dll,因为这几个版本基本上是兼容的。

3. rpm的包依赖问题

您老可以在 rpm 命令行中加上 --force --nodeps 等强制参数, 不让 rpm 检查 dependencies 等, 但是这样做的后果您老得自己承担 ...

4. 我已经安装python3.3.4+apache2.2,现在如何选择mod_python的版本

Python的版本太高了,mod_python并不支持Python 3000以上的版本,http://modpython.org/ 建议可以选择其它web服务器,比如Nginx、Lighttpd之类的,现在国产的Kangle扩展性也很强。如果是采用框架,比如Django,在调试的时候可以直接使用Django内置的Python Web服务器

5. linux配置apache和python的环境,mod_python在安装的报错处理,在线等!!

编译过程钟可能出现以上错误
解决方案:
修改src/connobject.c第142行
把!(b == APR_BRIGADE_SENTINEL(b) || 改为!(b == APR_BRIGADE_SENTINEL(bb) ||

你碰到的应该是这个情况吧?

/usr/local/lib/python2.5/config/libpython2.5.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
apxs:Error: Command failed with rc=65536

解决方案:

一定要确认编译Python的时候有没有加上--enable-shared,如果没有,加上重新编译

此时行Python可能出现以错误
python: error while loading shared libraries: libpython2.7.so.1.0:

cannot open shared object file: No such file or
解决办法:
新建下面文件
vim /etc/ld.so.conf.d/python2.7.conf

加入内容:
/usr/local/lib
保存退出后运行:
ldconfig

试下,有问题在找我。

6. apache+mod_python访问py出错

好久不用mod_python了。现在都用WSGI或者是UWSGI,这个更容易使用。

看你的提示,应该还没有安装好。似乎mod_python没有装上。缺少一个mod_python.apache模块。

我印象中这个mod_python是要编译的。也许需要apr模块。 所以mod_python这个包加载后,会自已创建python解释器。解释器就是import mod_python apache,如果成功了就有一个callback。

但是,显示解释器退出了。因为你没有mod_python.apache模块。 你再查查看。

7. python中,mod_python到底做了些什么呢

mod_python的确是一个让python程序员能够apache2写一些网站的工具。它是一个接口。过去一些python写的整站系统需要通过mod_python作为连接枢纽,将apache2与它们连接成web+app这样的结构。

不过mod_python也可以自己直接的独立写网站。学一学没有坏处。

不过现在,大多数情况下,mod_python已经被其它的方法代替了。比如django现在用wsgi或者是fastcgi连接。

mod_python的特点是效率高。可以管理自己对应的python进程,同时还有通信机制。

如果不是因为它有点点难用,我也会经常用。

好象是因为它配置起来,有时候没有生效。我有些弄不明白。

你既然问到了mod_python,说明你python已入门了。正在向高手迈进。加油啦。

8. 怎样将python程序及其依赖打包成rpm包部署

可以的,虽然说pip比较流行,但rpm从原理上完全可以覆盖这些部署过程,只有一些小的要求:

所有环境的Python安装方式必须一致,不能存在某些Python是2.6,某些是2.7,某些装在/usr/local下面,某些在/usr/lib下面之类的情况
如果带有C扩展的话,链接到的库应当是来自某个rpm包的。如果没有的话就简单多了。
如果有依赖的其他Python包的话,需要把依赖的包也做成rpm;实在偷懒也可以打进同一个rpm中。

实际上发行版中有许多Python库都以rpm的形式提供,不过一般我们嫌它版本旧,更倾向于用pip管理一组新的。

要写一个rpm spec,可以从头自己写,也可以参考一些其他软件的spec,我建议你采用后者,既然你们公司已经广泛使用rpm了,那肯定有很多本公司的spec可以参考,也有人可以问。

回到话题,写rpm spec,或者说rpmbuild的过程,分成以下步骤:
部署源代码,一般来说将一个.tar.gz复制到SRC目录中,然后用%setup宏就可以了,这个宏也基本上没干什么特别的事,就是把.tar.gz解压缩了一下,然后进入相应目录。.tar.gz只要从git中取出干净的源代码,整个目录打成tar包就可以了。好像还有专门的git-archive命令。
build过程,对应C/C++项目中的./configure, make。对Python项目来说一般可以跳过,因为setup.py都会搞定。也可以选择在这个阶段使用setup.py进行build,build出一个wheel包来,这是我推荐的方法,因为wheel包和直接setup.py install的目录结构有一些差异,而pip安装默认是按照wheel的方式。也就是说在这一步调用:setup.py bdist_wheel。再精细一点可以指定build的目标为build目录,这样需要cleanup的时候容易一些。

install过程,对应C/C++项目中的make install。一般来说我们平时怎么装这个软件,这一步就怎么装,所以我们也是使用setup.py。唯一的技巧在于,我们需要指定安装的目标到rpmbuild根的某个目录下面,而不是系统的目录。这个目录在install开始之前应当被清空。可以参考其他spec。对于我们来说,就是将Python的库安装到指定的目录,而不是系统的site-packges当中。如果你在build这一步已经打包了wheel,那么使用wheel install命令、指定目标文件夹就可以了。
打包过程,rpm的打包原理非常简单,最开始install的目录是空的,install完成后里面有了一堆文件,那么就按照文件列表将这一堆文件打包、然后指定每个文件将来应当安装到什么位置。对于Python项目来说,一般会安装package名的目录和EGGINFO两个目录,将这两个目录连同里面所有的内容一起加入%files段就可以了。如果你要部署的是某个应用,一般你还会希望将init.d中的启动脚本、或者 systemd的配置文件以及其他应用的配置文件一起部署了,可以在install的过程中将这些文件从源文件目录中复制到目标文件夹里,然后加到files段里面。

安装、卸载脚本。表现为%pre, %post之类的段一般来说如果你有服务要安装的话,需要在这里使用chkconfig, chkconfig on,或者systemd的话就是systemctl enable。如果你希望安装完有个机会修改配置文件,可以选择在首次安装的时候不要启动服务,而在update的时候启动服务,这可以通过脚本传进的第一个命令行参数$1进行判断,0、1、2表示不同的情况(分别是卸载、安装、更新,具体的记不清了),可以参考其他人写的spec;也可以选择安装完永远直接启动,在post中使用service xxx start, 在preuninstall的时候使用service xxx stop。

rpm的功能还是很强大的,除了跟pip共通的功能以外,它有一个显着的好处就是可以帮助你同时管理服务的配置、启动和停止,从而简化部署过程。不过要注意如果使用rpm的话就不要同时使用pip,否则pip更新过的库,rpm卸载或更新时会冲突。

有第三方依赖的时候,一种方法是为每个依赖项写一个独立的spec,里面内容都是上面这样的直接调用setup.py,或者更简单一些,在install的时候直接调用pip就可以;然后在需要这些依赖项的rpm包的spec当中写上Require信息,跟pip体系的requirements差不多。偷懒也可以在同一个rpm中打了一堆Python包进去,但是如果有多个独立安装的rpm都打了同一个Python包,就会冲突,要注意。

其实用习惯了会觉得也不比pip差,需要跟非Python组件混合部署的时候反而会觉得简单了很多。

9. Mod_Python的历史

Mod_python起源于一个被称为Httpdapy(1997)的项目。很长时间以来, Httpdapy并没有被称作mod_python,因为Httpdapy不是专门用于Apache的。 Httpdapy被设计成跨平台的,实际上最初是为Netscape server写的(那个时候被称为Nsapy)(1997)
这个Httpdapy的README文件的摘要,很好的阐述了在HTTP server中嵌入Python所带来的挑战和解决方案。

10. Mod_Python的介绍

mod_python是apache组织的一个项目,通过它,可以开发psp或cgi,mod_python功能强大,速度快,是非常优秀的web开发工具。

热点内容
c语言自考 发布:2025-05-15 07:52:42 浏览:499
压缩的玉 发布:2025-05-15 07:51:22 浏览:788
android的控件 发布:2025-05-15 07:50:36 浏览:551
南岗法院服务器ip地址 发布:2025-05-15 07:46:02 浏览:286
实况如何退出账号安卓 发布:2025-05-15 07:45:56 浏览:917
深入编译器 发布:2025-05-15 07:41:35 浏览:878
电信手机号服务密码怎么查 发布:2025-05-15 07:40:10 浏览:613
python全局变量文件 发布:2025-05-15 07:35:06 浏览:954
字节和存储字节 发布:2025-05-15 07:32:10 浏览:521
linux应用开发工程师 发布:2025-05-15 07:32:07 浏览:261