如何使用远程 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/
更多Python相关文章,请阅读:Python 教程
极客教程