[英]Use Python library without installing
我希望自定義流行的 Python 庫 Scrapy(主要包括一些print
命令等)來檢查它在內部是如何工作的。 我從 GitHub 中提取了源代碼並創建了一個conda
虛擬環境來開始我的實驗。
首先,我進入庫文件夾並嘗試$ python -c "import scrapy"
; 這要求我下載一些我使用pip
做的依賴項,經過幾次迭代后,我可以導入它。
這個還能用嗎? 我不必編譯/安裝它等嗎?
此外,Scrapy 也有一個我希望使用的 CLI(例如$ scrapy --help
)。 我該怎么辦?
我最終希望的是在發行版中編輯一個核心文件,保存它,進入我的home
目錄,從終端運行 Scrapy 並查看有什么變化。
雖然在 Python 中有編譯(與 Edgar Aroutiounian 的評論相反),但沒有必要,因為 Python 有一個即時編譯器,可以在您執行它們時編譯所有腳本。 如果您可以導入文件,您通常可以使用它。
我建議您構建和安裝,但在沙盒環境中。
我相信您修改scrapy並使用修改后的版本的最簡單方法,同時保持周轉時間短,是做
python setup.py install
在 git 存儲庫的根目錄中。
如果你想避免在你的系統上安裝修改后的 scrapy,你可以使用virtualenv
創建一種非常適合 python 項目的沙箱。
通常你會安裝 virtualenv 包,在 debian 上它是python-virtualenv
,然后執行:
mkdir ~/envs
virtualenv ~/envs/scrapy
source ~/envs/scrapy/bin/activate
這為您提供了一個環境,其中步驟python setup.py install
只會在~/envs/scrapy/
目錄中安裝您修改后的scrapy。 這將使您的系統不受安裝的影響。
這個環境是活躍的,獨立於你在哪個目錄中工作。要退出 virtualenv,你只需編寫deactivate
然后你就會回到正常環境。
然而,Scrapy 確實有其構建的依賴項,因此在以這種方式安裝時,您需要在系統上安裝這些依賴項。 如果這是一個問題,您可以更進一步,並使用lxc
實例和 Ubuntu 模板來獲取完整系統的沙箱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.