![](/img/trans.png)
[英]Python: requirements.txt specify module with two version ranges
[英]Specify Python Version for Virtualenv in Requirements.txt
我正在使用 virtualenv 與團隊一起開發 django 應用程序。 我們正在部署的服務器正在運行 python 2.6,但我們機器的默認值是 2.7.3。 有什么方法可以在代碼庫中的 requirements.txt 文件或類似文件中指定 python 版本?
我知道requirements.txt 是pip 的東西,而python 版本是virtualenv 的東西,但是不必告訴每個加入團隊的新人如何設置他們的virtualenv 真的很方便。
不必告訴每個加入團隊的新人如何設置他們的 virtualenv 真的很方便
只需將其添加到您在加入時提供給新成員的常規說明中即可; 當你告訴他們內部文檔維基、wifi 密碼和三明治送貨店的電話號碼時,就在同一個地方。
不必告訴人們並讓他們自己弄清楚是非常不方便的; 他們第一次提交使用collections.Counter
東西時才發現它破壞了構建,因為服務器沒有 2.7.x
你不能把它放在requirements.txt
,但你可以在腳本的頂部添加這個代碼:
import sys
if sys.version_info[0:2] != (2, 6):
raise Exception('Requires python 2.6')
根據您的評論,這里唯一的問題應該是確保沒有 2.7-only 代碼進入您的代碼庫。 為此,我建議使用tox
,並將其配置為創建2.6
環境進行測試,這樣當您的同事運行您的測試套件時,測試將在2.6
虛擬環境中運行。
您還可以通過以下命令指定默認 Python:
sudo update-alternatives --set python /usr/bin/python3.7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.