如何使用远程 Python 模块?
有一些方法可以远程导入 Python 模块。不过,不建议这样做,因为它会降低应用程序的速度。您可以使用 knockout 模块来实现此目的。要安装 knockout,请使用
$ pip install knockout
现在,为了远程导入模块,您可以像这样使用 knockout:
>>> from knockout import urlimport >>> urlimport.register() Url importing enabled. Add urls to sys.path.
有效的 URL 如下所示:http://example.com/path/to/repository/#packagename
这些内容尚处于实验阶段,使用需自担风险。尽情享受。
>>> import sys >>> sys.path.insert(0, 'http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.8/#BeautifulSoup') >>> import BeautifulSoup ... >>> BeautifulSoup <module 'BeautifulSoup' from 'http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.8/BeautifulSoup.py'>
如果您无法在机器上安装模块(由于权限不足),您可以使用 virtualenv 或将模块文件保存在另一个目录中,并使用以下代码允许 Python 在给定的模块中搜索模块
>>> import os, sys >>> file_path = 'AdditionalModules/' >>> sys.path.append(os.path.dirname(file_path)) >>> # Now python also searches AdditionalModules folder for importing modules as we have set it on the PYTHONPATH.
您还可以使用 virtualenv 创建一个隔离的本地 Python 环境。要解决的基本问题是依赖项和版本问题,以及间接权限问题。假设您有一个应用程序需要 LibFoo 的版本 1,但另一个应用程序需要版本 2。您如何同时使用这两个应用程序?如果您将所有内容都安装到 /usr/lib/python2.7/site-packages(或您平台的标准位置),则很容易意外升级不应该升级的应用程序。这也可以用于我们的用例,在该用例中,我们无法在机器上安装软件包,因为我们没有权限。有关 virtual env 的更多信息,请阅读文档:https://virtualenv.pypa.io/en/stable/
广告