{"id":403959,"date":"2024-02-22T11:04:19","date_gmt":"2024-02-22T03:04:19","guid":{"rendered":"https:\/\/www.idc.net\/help\/403959\/"},"modified":"2024-02-22T11:04:19","modified_gmt":"2024-02-22T03:04:19","slug":"python%e5%ae%89%e8%a3%85%e7%ac%94%e8%ae%b0%e7%9a%84%e5%ae%9e%e9%99%85%e5%ba%94%e7%94%a8%e7%9a%84%e4%b9%9d%e7%a7%8d%e6%ad%a5%e9%aa%a4%e4%bb%8b%e7%bb%8d","status":"publish","type":"post","link":"https:\/\/idc.net\/help\/403959\/","title":{"rendered":"Python\u5b89\u88c5\u7b14\u8bb0\u7684\u5b9e\u9645\u5e94\u7528\u7684\u4e5d\u79cd\u6b65\u9aa4\u4ecb\u7ecd"},"content":{"rendered":"<p>\u5982\u679c\u4f60\u5728Python\u5b89\u88c5\u7b14\u8bb0\u7684\u5b9e\u9645\u5e94\u7528\u65b9\u9762\u6709\u4e00\u4e9b\u4e0d\u6e05\u695a\u7684\u5730\u65b9\uff0c\u6216\u662f\u4f60\u662f\u5728Python\u5b89\u88c5\u7b14\u8bb0\u8fd9\u65b9\u9762\u7684\u65b0\u624b\uff0c\u4f60\u53ef\u4ee5\u6d4f\u89c8\u6211\u4eec\u7684\u6587\u7ae0\uff0c\u5e0c\u671b\u4f1a\u5bf9\u4f60\u6709\u6240\u6536\u83b7\uff0c\u4ee5\u4e0b\u662f\u6587\u7ae0\u76f8\u5173\u5185\u5bb9\u7684\u8be6\u7ec6\u4ecb\u7ecd\u3002<\/p>\n<p>\u4ee5\u4e0b\u6b65\u9aa4\u662f\u81ea\u5df1\u914d\u7f6e\u8fc7\u7a0b\u4e00\u4e9b\u8bb0\u5f55\u3002\u5e0c\u671b\u80fd\u5bf9\u60f3\u4f7f\u7528mod_python\u7684\u4eba\u6709\u70b9\u5e2e\u52a9\u3002\u53e6\u5916\u8bf7\u6ce8\u610f\u6d4b\u8bd5\u4ee3\u7801\u7684\u7f29\u8fdb\u3002<\/p>\n<p>1.\u4e0b\u8f7d\u4e2a\u65b0\u7248 \uff08\u6ce8\u610f\u7248\u672c\u95ee\u9898apache\u548cpython\u7248\u672c\uff09<\/p>\n<p>2.\u62f7\u5230linux\u673a\u5668\u4e0a\uff0c\u4e0b\u9762\u5728\u547d\u4ee4\u884c\u6267\u884cPython\u5b89\u88c5\u7b14\u8bb0\uff1a<\/p>\n<pre>\n \n \n <ol>\n  \n  \n  <li><span><span>tar&nbsp;-zxvf&nbsp;mod_python-3.3.1.tgz &nbsp;<\/span><\/span><\/li>\n  \n  \n  <li><span>cd&nbsp;mod_python-3.3.1 &nbsp;<\/span><\/li>\n  \n  \n  <li><span>.\/configure&nbsp;<\/span><span>--with-apxs<\/span><span>=\/usr\/local\/apache\/bin\/apxs&nbsp; &nbsp;<\/span><\/li>\n \n \n <\/ol><\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;\u914d\u7f6eapxs\u76ee\u5f55<\/p>\n<pre>\n \n \n <ol>\n  \n  \n  <li><span><span>.\/configure&nbsp;<\/span><span>--with-python<\/span><span>=\/usr\/bin\/python2.5&nbsp; &nbsp;<\/span><\/span><\/li>\n \n \n <\/ol><\/pre>\n<p>&nbsp;<\/p>\n<p>\u914d\u7f6e\u672c\u5730python<\/p>\n<pre>\n \n \n <ol>\n  \n  \n  <li><span><span>make &nbsp;<\/span><\/span><\/li>\n  \n  \n  <li><span>make&nbsp;install&nbsp;<\/span><\/li>\n \n \n <\/ol><\/pre>\n<p>3.\u8fd9\u4e9b\u7f16\u8bd1\u5b8c\u4e86\uff0c\u4f1a\u5728apache\/modules\/\u76ee\u5f55\u4e0b\u751f\u6210mod_python.so\uff0c\u5927\u69823M\u5de6\u53f3\u3002<\/p>\n<p>4.\u914d\u7f6eapache\u7684http.conf<\/p>\n<pre>\n \n \n <ol>\n  \n  \n  <li><span><span>LoadModule&nbsp;python_module&nbsp;modules\/mod_python.so &nbsp;<\/span><\/span><\/li>\n  \n  \n  <li><span>&lt;<\/span><span>Directory<\/span><span>&nbsp;\"\/usr\/modpython\"<\/span><span>&gt;<\/span><span>&nbsp;<\/span><\/li>\n \n \n <\/ol><\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;\u80fd\u7528apache\u8bbf\u95ee\u7684\u76ee\u5f55<\/p>\n<pre>\n \n \n <ol>\n  \n  \n  <li><span><span>#AddHandler&nbsp;mod_python&nbsp;.py &nbsp;<\/span><\/span><\/li>\n  \n  \n  <li><span>SetHandler&nbsp;mod_python &nbsp;<\/span><\/li>\n  \n  \n  <li><span>PythonHandler&nbsp;mod_python.publisher &nbsp;<\/span><\/li>\n  \n  \n  <li><span>PythonDebug&nbsp;On &nbsp;<\/span><\/li>\n  \n  \n  <li><span>&lt;\/<\/span><span>Directory<\/span><span>&gt;<\/span><span>&nbsp;<\/span><\/li>\n \n \n <\/ol><\/pre>\n<p>5.\u6d4b\u8bd5\u5728\/usr\/modpython\/\u76ee\u5f55\u4e0b\u65b0\u5efa\u4e00\u4e2atest.py<\/p>\n<pre>\n \n \n <ol>\n  \n  \n  <li><span><span>#coding:gb2312 &nbsp;<\/span><\/span><\/li>\n  \n  \n  <li><span>def&nbsp;index(req): &nbsp;<\/span><\/li>\n  \n  \n  <li><span>req.write(\"hello,world!\") &nbsp;<\/span><\/li>\n  \n  \n  <li><span>return &nbsp;<\/span><\/li>\n \n \n <\/ol><\/pre>\n<p>6.\u8fd0\u884cPython\u5b89\u88c5\u7b14\u8bb0\uff0c\u542f\u52a8apache\u6ca1\u6709\u9519\u8bef\u540e\uff0c#p#<\/p>\n<p>7.\u5b9a\u4e49\u5176\u4ed6\u65b9\u6cd5\uff1a<\/p>\n<pre>\n \n \n <ol>\n  \n  \n  <li><span><span>#coding:gb2312 &nbsp;<\/span><\/span><\/li>\n  \n  \n  <li><span>def&nbsp;index(req): &nbsp;<\/span><\/li>\n  \n  \n  <li><span>req.write(\"hello,world!\") &nbsp;<\/span><\/li>\n  \n  \n  <li><span>return &nbsp;<\/span><\/li>\n  \n  \n  <li><span>def&nbsp;hello(req): &nbsp;<\/span><\/li>\n  \n  \n  <li><span>req.write(\"hello!!!\") &nbsp;<\/span><\/li>\n  \n  \n  <li><span>return &nbsp;<\/span><\/li>\n \n \n <\/ol><\/pre>\n<p>8.\u4f20\u9012\u53c2\u6570<\/p>\n<pre>\n \n \n <ol>\n  \n  \n  <li><span><span>def&nbsp;get(req,<\/span><span>name<\/span><span>=<\/span><span>\"\"<\/span><span>): &nbsp;<\/span><\/span><\/li>\n  \n  \n  <li><span>if&nbsp;name: &nbsp;<\/span><\/li>\n  \n  \n  <li><span>req.write(\"\u53c2\u6570\uff1a\"+name); &nbsp;<\/span><\/li>\n  \n  \n  <li><span>else: &nbsp;<\/span><\/li>\n  \n  \n  <li><span>req.write(\"no&nbsp;param.\"); &nbsp;<\/span><\/li>\n  \n  \n  <li><span>return &nbsp;<\/span><\/li>\n \n \n <\/ol><\/pre>\n<p>POST\u8868\u5355\u4e00\u6837\uff0c\u53ea\u8981\u53c2\u6570\u540d\u5199\u5bf9\u5c31\u884c\u3002<\/p>\n<p>9.python\u5305\u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u5efa\u7acb\u4e00\u4e2a\u5305\uff0c\u7136\u540e\u5728test.py\u5bfc\u5165\u65f6\u5019\u4f1a\u51fa\u9519\uff0c\u627e\u4e0d\u5230\u5305\u3002\u540e\u6765\u4fee\u6539\u4e86\u4e0b\u65b9\u6cd5<\/p>\n<pre>\n \n \n <ol>\n  \n  \n  <li><span><span>import&nbsp;os,sys &nbsp;<\/span><\/span><\/li>\n  \n  \n  <li><span>sys.path.append(os.path.dirname(__file__)) &nbsp;<\/span><\/li>\n \n \n <\/ol><\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;\u628a\u5f53\u524d\u76ee\u5f55\u52a0\u5165\u5230sys.path\u4e2dimport \u81ea\u5df1\u7684\u5305<\/p>\n<p>\u3010\u7f16\u8f91\u63a8\u8350\u3011<\/p>\n<ol>\n<li>Python\u5b57\u7b26\u4e32\u4e2d\u5b57\u7b26\u7684\u5927\u5199\u4e0e\u5c0f\u5199\u7684\u53d8\u5316<\/li>\n<li>PythonS60\u624b\u673a\u4e2d\u642d\u5efa\u624b\u673a\u8fd0\u884c\u5e73\u53f0\u7684\u4e94\u4e2a\u6b65\u9aa4<\/li>\n<li>Python\u6570\u7ec4\u4e2d\u5b9e\u9645\u5e94\u7528\u7684\u6570\u636e\u7ed3\u6784\u7684\u64cd\u4f5c\u65b9\u6848<\/li>\n<li>Python\u5b57\u7b26\u4e32\u5728\u5b9e\u9645\u64cd\u4f5c\u641c\u7d22\u4e0e\u66ff\u6362<\/li>\n<li>Python\u4e8c\u7ef4\u6570\u7ec4\u5728\u521b\u5efa\u8fc7\u7a0b\u4e2d\u6b65\u9aa4\u8be6\u89e3<\/li>\n<\/ol>\n<p> &nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5982\u679c\u4f60\u5728Python\u5b89\u88c5\u7b14\u8bb0\u7684\u5b9e\u9645\u5e94\u7528\u65b9\u9762\u6709\u4e00\u4e9b\u4e0d\u6e05\u695a\u7684\u5730\u65b9\uff0c\u6216\u662f\u4f60\u662f\u5728Python\u5b89\u88c5\u7b14\u8bb0\u8fd9\u65b9\u9762\u7684\u65b0\u624b\uff0c\u4f60\u53ef [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61],"tags":[],"class_list":["post-403959","post","type-post","status-publish","format-standard","hentry","category-website"],"_links":{"self":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/posts\/403959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/comments?post=403959"}],"version-history":[{"count":0,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/posts\/403959\/revisions"}],"wp:attachment":[{"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/media?parent=403959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/categories?post=403959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/idc.net\/help\/wp-json\/wp\/v2\/tags?post=403959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}