标签: python

我可以“注册”python 脚本以在 Windows 上执行吗?

我在 Windows XP 上安装了 Python 2.5,并且在某个目录中提供了一组脚本。根据Amanda Birmingham 的这篇文章,我可以为 Python 可执行文件和脚本所在的位置设置一个路径。这意味着我可以这样做:

c:\>python script.py
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以注册 .py 文件,这样我就可以像这样执行它们:

c:\>script.py
Run Code Online (Sandbox Code Playgroud)

在脚本中不包含shebangenv行。

少打字就好。:)

scripting windows python

6
推荐指数
1
解决办法
4794
查看次数

为 Python 配置 FastCGI

我在虚拟机上运行了 nginx,我想运行一个 Trac 站点。我需要运行一个Python FastCGI的服务器,但我不能告诉它使用服务器。我发现了以下内容:

  • Lighttpd spawn-fcgi但是这个好像需要你编译lighttpd才能得到fcgi服务器,这很奇怪。
  • fcgi.py但这个似乎已被弃用。至少它的记录很差。
  • flup这个依赖于 ubuntu (python-cheetah{a} python-mysqldb{a} python-webpy{a}),这似乎是不必要的。也不好记录。

是否有任何最近的设置指南?Trac 自己的 FastCGI 设置页面似乎遗漏了一些步骤。

python trac fastcgi

6
推荐指数
1
解决办法
8872
查看次数

什么是可用的最简单的开源网络邮件前端?

我正在开展一个项目,为常见的 Web/Internet 任务创建一些极其精简的界面,以使我的视力受损的祖母可以访问计算机。目前她使用 Mac OS X Mail.app,但我有一个想法,我可以重新设计在我自己的服务器上运行的网络邮件界面,以便她更容易使用。

用作起点的理想 Web 邮件界面应该没有框架或 AJAX,并用 Python、Perl 或 PHP5+ 编写,但只要模板和样式表文件与应用程序本身分开,任何设置都可以工作。

该前端还必须连接到远程 IMAP 服务器,因为她的电子邮件帐户在她的 ISP 处而不在我的服务器上。

任何人都可以推荐一个简单的,严肃的网络邮件界面,适用于此吗?

email php python webmail perl

6
推荐指数
3
解决办法
8122
查看次数

mod_wsgi 的 Python 版本

如何更改 mod_wsgi 使用的默认版本?

我将 Debian 5 与 Apache 2 一起使用。

python mod-wsgi

6
推荐指数
2
解决办法
9333
查看次数

为 OS X 中的客户端使用设置 xpra

在过去的几天里,我一直试图让xpra在 OS X 上运行以连接到我的 Ubuntu 服务器。请注意,它有一个名为 shifter 的 GUI,但是(至少在 OS X 上)仍然有太多问题。

对于那些不知道 xpra 是什么的人,如果您知道什么是屏幕,它就像是通过 ssh 隧道传输的 GUI X Windows 应用程序的屏幕。您可以在本地渲染远程 X 应用程序,因此它比发送一系列压缩屏幕截图(如 VNC)要快,但使用 xpra,您可以在不同的计算机上断开连接并重新连接。要获得基本功能,您只需键入“ssh -X server.location”,您从命令行打开的任何 GUI 应用程序都将在本地打开。

我已经能够通过执行以下操作来构建 xpra:

  1. 从上游下列出的 xpra 站点下载 pari-all-0.0.6.tar.gz 并解压缩它。
  2. 发出以下 Mac Ports 命令(依赖 RogBlog): sudo port install python25 python26 py26-pyrex py26-gtk xorg-libXtst py25-gobject py25-gtk py25-nose py26-nose xorg-libXdamage xorg-libXcomposite-xlibtorg libXfixes
  3. 在上面列出的 xpra 站点上的 v0.0.06 补丁(不是 0.0.8pre!)的上游列表中,下载 mswindows-conditional-pyrex.patch。
  4. 使用您最喜欢的文本编辑器打开补丁并将其中出现的“win”更改为“darwin”。
  5. 将补丁应用到 setup.py。
  6. 在命令行中运行 do-build。

现在我很难过:我如何运行 xpra?构建会生成一个名为 install/bin 的子目录,xpra 位于其中,但是当我尝试运行它时,出现以下错误:

Traceback (most recent call last): …
Run Code Online (Sandbox Code Playgroud)

python remote-desktop mac-osx x11 x11forwarding

6
推荐指数
2
解决办法
6284
查看次数

如何使用 Lighttpd 和 FastCGI(如 PHP)设置 Python

在 Linux 上运行 Lighttpd,我希望能够像执行 PHP 脚本一样执行 Python 脚本。

目标是能够执行存储在 WWW 目录中的任意脚本文件,例如http://www.example.com/*.py.


  • 我不想为每个请求生成一个新的 Python 实例(解释器)(就像在常规 CGI 中所做的那样,如果我没记错的话),这就是我使用 FastCGI 的原因。

  • 根据Lighttpd 的文档,以下是我的配置文件的 FastCGI 部分。问题是它总是/usr/local/bin/python-fcgi为每个 *.py 文件运行脚本,而不管该文件的内容如何:

    http://www.example.com/script.py [output=>] "python-fcgi: test"

    (无论内容如何script.py

  • 我对使用任何框架不感兴趣,而只是执行单独的 [web] 脚本。

我怎样才能让它像 PHP 一样运行,通过请求它的路径来执行 WWW 目录中的任何脚本?

/etc/lighttpd/conf.d/fastcgi.conf:

server.modules += ( "mod_fastcgi" )

index-file.names += ( "index.php" )

fastcgi.server = (
    ".php" => (
        "localhost" => ( 
            "bin-path" => "/usr/bin/php-cgi",
            "socket" => "/var/run/lighttpd/php-fastcgi.sock",
            "max-procs" => 4, # default value
            "bin-environment" => ( …
Run Code Online (Sandbox Code Playgroud)

python web-server fastcgi lighttpd

6
推荐指数
1
解决办法
8927
查看次数

在 ubuntu 上使用 SSL 支持重新编译 python

我已经在我的 Ubuntu 10.04 上构建/安装了 Python 2.7,我刚刚看到 SSL 没有激活。

我必须重建 Python 吗?

如何使用 SSL 支持重建它并更新我当前的安装?

我不希望并行进行新安装


尝试使用 oauth2:

>>> import oauth2
Run Code Online (Sandbox Code Playgroud)

回溯(最近一次调用最后一次):
文件“”,第 1 行,在
文件“/usr/local/lib/python2.7/site-packages/oauth2/ init .py”中,第 32 行,在 import httplib2
文件“/usr”中/local/lib/python2.7/site-packages/httplib2/ INIT py”为,线801,在类HTTPSConnectionWithTimeout(httplib.HTTPSConnection):
AttributeError的: '模块'对象没有属性'HTTPSConnection'

文档告诉你

HTTPS 支持仅在使用 SSL 支持编译套接字模块时可用。

所以我想激活 SSL 支持


尝试安装 pyOpenSSL

$ python setup.py build
Run Code Online (Sandbox Code Playgroud)

给这个

/usr/local/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
  warnings.warn(msg)
running build
running build_py
running build_ext
building 'OpenSSL.crypto' extension
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC …
Run Code Online (Sandbox Code Playgroud)

ubuntu ssl python

6
推荐指数
1
解决办法
2万
查看次数

是否有一个简单的 LDAP 到 HTTP 网关?

我们有一个本地 LDAP 目录,提供有关我们用户社区的基本联系信息。我们希望将其集成到一些第三方托管服务中,这些服务允许我们实现运行任意 Javascript 的小部件。

为了将 Javascript 连接到我们的 LDAP 目录,我想设置一个简单的 LDAP-to-HTTP 代理,该代理将接受 HTTP GET 请求,将它们转换为适当的 LDAP 查询,并以 JSON 编码数据的目录信息作为响应。

在理想的世界中,是这样的:

GET /ldap?mail=bob@example.com
Run Code Online (Sandbox Code Playgroud)

会给我这样的东西:

{
    "cn": "Bob Person", 
    "title": "System Administrator", 
    "sn": "Person", 
    "mail": "bob@example.com", 
    "telepehoneNumber": "617-555-1212", 
    "givenName": "Bob"
}
Run Code Online (Sandbox Code Playgroud)

(这显然假设 Web 应用程序在本地配置了有关要使用的基本 DN、如何进行身份验证等的信息)。

我想我可以写一个……但肯定已经存在这样的东西了吗?

http python ldap web

6
推荐指数
2
解决办法
9351
查看次数

如何处理 20k 并发持久连接

我正在尝试设计一种架构来处理大量 TCP 套接字连接,但我对这种架构的局限性表示怀疑。

我将不得不处理大约 20k 个并发TCP 连接,这些连接是长轮询连接,它们将保持连接很长时间,并且每分钟发送一次数据。

使用线程是没有问题的,因为 20k 线程会耗尽系统资源。我打算使用gevent来处理如此多的并发连接,或者甚至使用haproxy和 2 个服务器(w/gevent)来处理每个连接 10k 个连接。这有道理吗?有没有人有一些建议或有使用具有 10K+ 连接的gevent 的经验?有没有人知道处理这些连接的硬件要求?我看到一些基准测试显示了 5k 并发连接上 gevent 的大量连接超时,这对我的问题来说不是很有希望。

注意:我已经阅读了关于 C10k 问题和“百万用户彗星应用程序”的建议。

python haproxy long-polling

6
推荐指数
1
解决办法
2170
查看次数

如果文件不存在,如何告诉 Puppet 仅使用 Pip 进行安装

我正在使用 Puppet 使用 pip 安装一些 Python 包。我使用的是 Puppet 2.7,所以我的包声明看起来像这样:

package { "carbon": 
    require => Class["graphite::prereqs::install"],
    ensure  => latest,
    provider => pip,
}
Run Code Online (Sandbox Code Playgroud)

问题是这个包和graphite-web包似乎都有一个错误,可以使用 pip 多次安装相同的版本。所以如果我sudo pip install carbon多次输入,pip 每次都会安装它。我相信这是软件包的错误。

这个错误似乎也让 Puppet 感到困惑,因为每次我配置我的系统carbongraphite-web重新安装时。

因此,我想知道是否有办法解决这个明显的打包错误。我尝试了以下方法:

package { "carbon": 
    require => Class["graphite::prereqs::install"],
    ensure  => latest,
    provider => pip,
    creates => "/opt/graphite/bin/carbon-cache.py",
}
Run Code Online (Sandbox Code Playgroud)

...但我不能使用创建。有没有另一种方法可以告诉包声明在安装包之前查找文件?

python puppet pip graphite

6
推荐指数
1
解决办法
1万
查看次数