如何使用远程 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/

更新于: 2019年10月1日

2K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告