在云中执行Python

2024-04-27 04:43:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我的web服务器不允许我安装额外的Python模块。有没有办法在其他地方的云服务器上执行Python脚本(允许加载项)。因此,服务器1处理web请求并调用服务器2上的Python,后者将输出返回给服务器1。在


Tags: 模块服务器脚本web地方办法
3条回答

只需将python模块的内容提取到某个相关文件夹中并以这种方式导入它们,可能会更容易一些。当然,您可能会丢失模块/包管理的一大堆好属性,但至少您可以让您的东西正常工作。。在

请注意,这种方法非常适合于一开始就让它快速工作。之后,您可能希望通过使用适当的包管理实用程序(如ldrumm的答案中所述)来获得更健壮/解耦的解决方案。在

virtualenv是您想要的包,对于任何Python开发人员来说都是必不可少的。在

它至少解决了两个问题:

无权限安装软件包

virtualenv允许您在给定目录中创建任何包的本地安装,这意味着您可以在没有根权限的情况下安装包。在

mkdir myvirtualenv && cd myvirtualenv && virtualenv --no-site-packages . && source bin/activate

该命令创建一个新目录,然后创建一个新的virtualenv。它包含binincludeliblocal,因此您为新文件设置了一个标准目录。在

source bin/activate行更改了$PATH设置,这样它就不会引用系统包,而是首先在本地目录中查找。在

安装特定版本的软件包

许多项目需要包的特定版本。这可能与系统上另一个项目的需求冲突。virtualenv救命:

source bin/activate && pip install foo==1.2.3

virtualenv几乎总是与pip齐头并进,它允许您将任何版本的包安装到活动的virtualenv。然后,多个项目可以与不同的版本/包需求共存。在

The package can be found here

编辑

从链接页面下载包并提取其内容后(使用tar -xzf virtualenv-1.10.1.tar.gz),您只需从提取包的根目录运行python virtualenv.py。在

这是一个简单的pythonweb服务器的扭曲方式。 最简单的方法是创建一个VPS,任何云提供商都可以做到。 (例如在amazon上创建一个小实例)。在

从那里,您将拥有一个完整的Linux发行版,您可以使用任何模块、插件和脚本安装任何版本的python。在

但是,一旦你成功做到了这一点,为什么不干脆把你的web服务器移到云端,消除调用辅助服务器的开销呢。在

相关问题 更多 >