(Python)在本地使用库而不是安装它
问题内容:
脚本:
我用python编写了一个脚本,偶尔将推文发送到twitter。
它仅使用一个名为tweepy
的库,安装该库后,它可以正常工作,很棒。
问题:
我想将脚本托管在没有特权安装任何服务器的服务器上,
如果我可以从拥有它的文件夹中本地将其包括在内,那就太好了。
截至目前,我所需要的一切要包含在我的文件顶部的是:
import tweepy
在tweepy文件夹(也有一个__init__.py
我认为是非常重要的文件。
问题:
如何在不安装该库的情况下使用它?
基本上我想替换:import tweepy
与import local_folder/tweepy/*
这可能只是python的常识,但我被卡住了!
问题答案:
编辑:
这个答案已经过时了。您应该使用VirtualEnv。如果您出于某种原因对第三方软件过敏(在这种情况下,为什么要安装库?),那么实际上是python3内置了一个名为venv的东西,因此没有理由不使用某种虚拟化技术。(不过,社区中大多数活跃的人都喜欢VirtualEnv。请参阅https://stackoverflow.com/a/41573588/410889。)
VirtualEnv将安装一个本地python解释器,以及一个本地程序包文件夹和所有内容。除了完全解决管理特权问题以外,VirtualEnv的最重要功能是它允许您将环境分开。如果您有一个需要Foo版本2.3的项目,而另一个需要Foo版本1.5的项目,则不能让它们共享同一环境。您必须使用VirtualEnv将其环境分开。
有几种可能性:
如果您已经知道如何安装Python模块,则默认distutils
设置已包含每个用户的安装选项。只要运行python setup.py install --user
代替python setup.py install
。这是最简单的,因为这不需要添加任何源代码。
您也可以使用目录tweepy
作为当前工作目录运行脚本。
您可以将一个名为PYTHONPATH的环境变量添加到用于运行脚本的任何环境(例如shell)中,并使其包含的路径tweepy
。
如果所有其他方法都失败了,而您确实确实想编辑源代码,则需要进行编辑sys.path
。sys.path
是Python将在其中查找代码的位置的列表。
在您的代码中,编写:
import sys
sys.path.append("/path/to/your/tweepy/directory")
import tweepy