(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.path
。 sys.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。
快乐的编码