【发布时间】:2011-01-17 06:37:26
【问题描述】:
有没有办法让 python 从网络中读取模块?
我们有很多机器,每次更改模块时手动更新每台机器会很费力,所以我希望 python 从网络上的某个位置获取模块。
有什么想法吗?
【问题讨论】:
标签: python networking module import centralized
有没有办法让 python 从网络中读取模块?
我们有很多机器,每次更改模块时手动更新每台机器会很费力,所以我希望 python 从网络上的某个位置获取模块。
有什么想法吗?
【问题讨论】:
标签: python networking module import centralized
将您的网络位置安装到您的文件系统中,并将该路径添加到您的 PYTHONPATH。这样,本地机器上的 Python 将能够看到远程位置中存在的模块。 您不能直接从模块远程导入,例如在 html 中指定 js 文件。
【讨论】:
我相信您正在寻找一种分布式计算框架,您可以在其中将代码和数据部署到一个节点,并将它们作为任务分布在一组客户端/服务器/对等方之间。检查Pyro、execnet、Parallel Python、Jug 和RPyC。
【讨论】:
虽然想通过网络导入模块有点病态,但它实际上是可能的。查看the source for zipimport 了解如何完成。
【讨论】:
我是怎么做到的:
控制面板\所有控制面板项\系统>>高级>>环境变量>>系统变量>>新建>>名称= PYTHONPATH,值= \server\scriptFolder
感谢大家的帮助:)
【讨论】:
sys.path.append(r'\\network\path')
import module
【讨论】:
值得注意的是,存在一个用于导入通过 HTTP/S 可用的包/模块的模块,它是 httpimport。这适用于 Python2 和 Python3。
因此,从公认的答案开始,事实证明,有一些方法可以以编程方式“像 javascript”一样导入远程模块,如下所示:
>>> with httpimport.remote_repo(['package1'], 'http://my-codes.example.com/python_packages'):
... import package1
...
>>> # -- 'package1' code is available here --
【讨论】: