有一些方法可以远程导入Python模块。不建议这样做,因为它会减慢您的应用程序的速度。您可以使用敲除模块来实现此目的。要安装淘汰赛,请使用:
$ pip install knockout
现在,为了远程导入模块,您可以使用敲除类似:
>>> from knockout import urlimport >>> urlimport.register() Url importing enabled. Add urls to sys.path.
有效网址如下所示: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(或平台的标准位置是什么)中,那么很容易以无意中升级不应升级的应用程序的情况结束。这也可以用在我们的用例中,因为我们没有权限,因此无法在计算机上安装软件包。有关虚拟环境的更多信息,请阅读文档:https : //virtualenv.pypa.io/en/stable/