我希望自定义流行的Python库Scrapy(主要包括一些print
命令等)来检查它在内部的工作方式。我从GitHub中提取了源代码并创建了一个conda
虚拟环境来开始我的实验。
首先,我进入了库文件夹并尝试$ python -c "import scrapy"
;这要求我下载一些使用pip
的依赖项,经过几次迭代后,我可以导入它。
这可用吗?我不需要编译/安装它等吗?
此外,Scrapy也有我想使用的CLI(例如$ scrapy --help
)。我应该怎么做呢?
我希望最终编辑分发中的核心文件,保存它,转到我的home
目录,从终端运行Scrapy并查看更改。
答案 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
即可恢复正常环境。
lxc
的实例,例如一个Ubuntu模板,用于获取整个系统的沙箱。