使用Python库而不安装

时间:2015-11-18 10:02:31

标签: python

我希望自定义流行的Python库Scrapy(主要包括一些print命令等)来检查它在内部的工作方式。我从GitHub中提取了源代码并创建了一个conda虚拟环境来开始我的实验。

首先,我进入了库文件夹并尝试$ python -c "import scrapy";这要求我下载一些使用pip的依赖项,经过几次迭代后,我可以导入它。

这可用吗?我不需要编译/安装它等吗?

此外,Scrapy也有我想使用的CLI(例如$ scrapy --help)。我应该怎么做呢?

我希望最终编辑分发中的核心文件,保存它,转到我的home目录,从终端运行Scrapy并查看更改。

2 个答案:

答案 0 :(得分:0)

虽然Python中有编译(与Edgar Aroutiounian的评论相反)但是没有必要,因为Python有一个Just-In-Time-Compiler,它可以在执行时编译所有脚本。 如果您可以导入文件,通常可以使用它。

答案 1 :(得分:0)

我建议您构建和安装,但是在沙盒环境中。

我认为最简单的方法是修改scrapy并使用修改后的版本,同时保持周转时间,是

python setup.py install

在git存储库的根目录中。

如果您想避免在系统上安装修改过的scrapy,可以使用virtualenv创建一种非常适合python项目的沙箱。

通常你会在debian python-virtualenv上安装virtualenv包,然后执行:

mkdir ~/envs
virtualenv ~/envs/scrapy
source ~/envs/scrapy/bin/activate

为您提供了一个环境,其中步骤python setup.py install只会在~/envs/scrapy/目录中安装您修改过的scrapy。这将使您的系统不受安装的影响。

此环境独立于您正在使用的目录中处于活动状态。要退出virtualenv,您只需编写deactivate即可恢复正常环境。

但是,Scrapy确实对其构建具有依赖性,因此在以这种方式安装时,您将需要系统上的那些。如果这是一个问题,您可以更进一步,并使用lxc的实例,例如一个Ubuntu模板,用于获取整个系统的沙箱。