(Python)在本地使用库而不是安装它


问题内容

脚本:
我用python编写了一个脚本,偶尔将推文发送到twitter。
它仅使用一个名为tweepy
的库,安装该库后,它可以正常工作,很棒。

问题:
我想将脚本托管在没有特权安装任何服务器的服务器上,
如果我可以从拥有它的文件夹中本地将其包括在内,那就太好了。
截至目前,我所需要的一切要包含在我的文件顶部的是:

import tweepy

tweepy文件夹(也有一个__init__.py我认为是非常重要的文件。

问题:
如何在不安装该库的情况下使用它?
基本上我想替换:import tweepyimport 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.pathsys.path是Python将在其中查找代码的位置的列表。

在您的代码中,编写:

import sys
sys.path.append("/path/to/your/tweepy/directory")

import tweepy