页次: 1
主要用於升級virtualenv內安裝的所有的包
不知有什麼更好的方法?
#!/usr/bin/env python
# Filename: upgrade.py
import pip
from subprocess import call
import sys, getopt
def usage():
print('-l, --list 列出已安裝包; -u, --upgrade 嘗試升級已安裝包')
def getPackageList():
return [dist.project_name for dist in pip.get_installed_distributions()]
def main(argv):
try:
opts, args = getopt.getopt(argv, "hul", ["help", "upgrade", "list"])
except getopt.GetoptError:
usage()
sys.exit(2)
for opt, arg in opts:
if opt in ("-h", "--help"):
usage()
sys.exit()
elif opt in ("-u", "--upgrade"):
for project_name in getPackageList():
print('Upgrading ', project_name)
call("pip install --upgrade " + project_name, shell=True)
elif opt in ("-l", "--list"):
for project_name in getPackageList():
print(project_name)
if __name__ == "__main__":
main(sys.argv[1:])
最近编辑记录 haroldwu (2013-09-26 23:24:15)
离线
厄!不好意思,文不对题的回复!删了!
最近编辑记录 糊涂 (2013-09-27 19:11:47)
想装X,别装X
离线
不用 virtualenv :-)
离线
這個腳本可以完美的在virtualenv環境下運作噢~
寫這個的原因是:
有時候會裝一些東西,pacman沒包而aur的包過期了,又不想污染系統
得用virtualenv
其實它強大是在開發能在多種版本python運行的程序,可以指定解釋器版本
过期了就去 flag out-of-date 啦,自己改改 PKGBUILD。一两个星期之后对方还不更新的话你就接手啦。
离线
页次: 1