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

脚本:
我已经在Python中编写了一个脚本,偶尔会向推特发送推文
它只使用一个名为tweepy的库
它安装后,它的作品,很好。

问题:
我想在服务器上托pipe脚本,我没有权限安装任何东西
如果我可以将它包含在本地文件夹中,那将是非常好的。
截至目前,我需要包括在我的文件的顶部是:

import tweepy 

tweepy文件夹 (有一个__init__.py文件,我认为这很重要。

题:
如何在不安装的情况下使用这个库?
基本上我想要replace: import tweepy import local_folder/tweepy/*

这可能只是python的常识,但我卡住了!

编辑:这个答案已经过时了。 你应该使用VirtualEnv 。 如果你出于某种原因对第三方软件过敏(在这种情况下,你为什么要安装库?),有一种叫做venv的东西,它实际上是内置在python3中的,所以没有理由不使用某种虚拟化。 (然而,社区中的大多数人更喜欢VirtualEnv,请参阅https://stackoverflow.com/a/41573588/410889 。)

VirtualEnv安装一个本地python解释器,一个本地包文件夹和一切。 除了完全解决pipe理权限问题之外,VirtualEnv最重要的特性是它可以让你的环境保持独立。 如果您有一个项目需要Foo版本2.3,另一个需要Foo版本1.5,则不能让他们共享相同的环境; 你必须保持与VirtualEnv分开的环境。


有几种可能性:

如果您已经知道如何安装Python模块,则默认的distutils设置已经包含了每个用户的安装选项。 只需运行python setup.py install --user而不是python setup.py install 。 这是最简单的,因为这不需要添加任何源代码。

您也可以使用tweepy目录作为当前工作目录运行脚本。

您可以将一个名为PYTHONPATH的环境variables添加到您用来运行脚本的任何环境(例如,shell)中,并使其包含tweepy的path。

如果一切都失败了,你确实想编辑你的源代码,你需要编辑sys.pathsys.path是Python将查找代码的位置列表。

在你的代码中,写下:

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

你应该安装一个虚拟的Python环境,所以你不必担心拥有pipe理员权限,你可以安装任何你想要的。

另外如果你想经常使用它像脚本。 简单的方法在bashrc / zshrc文件中导出“PYTHONPATH”,并给出包含代码的目录的path。

例如:

 export PYTHONPATH=$PYTHONPATH:$HOME/path/to/module 

这样,每次重新启动时都不需要执行sys.path。

快乐的编码