[英]Why aren't python and non-python files installed successfully by pip?
我的項目具有如下文件結構:
MyParserPkg/
setup.py
requirements.txt
readme.txt
MANIFEST.in
doc/
logs/
ParserPKG/
// many python files here
parser.py
config.a.ini
config.b.ini
清單的內容是:
include README.txt requirements.txt
include ParserPkg/config.a.ini
include ParserPkg/config.b.ini
我的setup.py:
setup(name='ParserPkg',
version='0.1',
description='A parser for testing',
packages=['ParserPkg'],
zip_safe=False)
然后我做:
pip install -r requirements.txt
pip install -e .
安裝后,然后檢查安裝項目的虛擬環境的站點軟件包,發現其中僅包含一個文件:
my-envs/dialog-as-api/lib/python3.7/site-packages/ParserPkg.egg-link
以及該文件的內容,這是我的項目的路徑:
/Users/lvisa/MyParserPkg
為什么只包含一個雞蛋鏈接文件?
pip install -e .
以“可編輯”模式安裝軟件包。 它會創建鏈接,並允許您編輯源代碼,而無需不斷重新安裝。
因此,您的軟件包已正確安裝。 這就是“可編輯”模式的工作方式。
試試python -c 'import MyParserPkg'
您正在使用-e
標志,該標志使程序包可編輯。 根據文檔 ,
從根本上來說,“可編輯”安裝是“ setuptools開發模式”安裝。
通過該鏈接可以提供:
為此,請使用setup.py development命令。 它與setup.py install或EasyInstall工具非常相似,但實際上並沒有安裝任何東西。 而是在部署目錄中創建一個特殊的.egg-link文件,該文件鏈接到項目的源代碼。 而且,如果您的部署目錄是Python的site-packages目錄,它還將更新easy-install.pth文件以包含您項目的源代碼,從而使sys.path中的所有使用該Python安裝的程序都可以使用它。
因此,它在某種意義上“安裝”了它,可供其他任何模塊使用,但實際上並沒有覆蓋文件,因此您可以編輯代碼並立即對其進行測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.