您可以轻松做到这一点,因为 pip 支持从版本控制系统进行安装,请参阅 here。
这假设您要安装的软件包有一个 setup.py 文件。
pip install git+git://github.com/BillMills/python-package-example.git
Git
(多为提取表单here)
Pip 支持克隆git、git+http、git+https、git+ssh、git+git 和 git+file。
[-e] git://git.myproject.org/MyProject#egg=MyProject
[-e] git+http://git.myproject.org/MyProject#egg=MyProject
[-e] git+https://git.myproject.org/MyProject#egg=MyProject
[-e] git+ssh://git.myproject.org/MyProject#egg=MyProject
[-e] git+git://git.myproject.org/MyProject#egg=MyProject
[-e] git+file://git.myproject.org/MyProject#egg=MyProject
-e git+git@git.myproject.org:MyProject#egg=MyProject
如果您想要一个测试版或针对您的特定发行版的分支等,您还可以通过使用@ 并传递分支名称来要求从特定分支、提交哈希或标记名称安装/提交哈希/标签名称:
分支:
[-e] git://git.myproject.org/MyProject.git@master#egg=MyProject
提交有:
[-e] git://git.myproject.org/MyProject.git@da39a3ee5e6b4b0d3255bfef95601890afd80709#egg=MyProject
标签:
git://git.myproject.org/MyProject.git@v1.0#egg=MyProject
这是一个真实的用例 (Git):
假设我们希望安装以下 Python 包,该包可在 GitHub here 上找到。
我会跑:
pip install git+git://github.com/BillMills/python-package-example.git
结果如下:
(test) pc-207-126:Desktop rafael$ pip install git+git://github.com/BillMills/python-package-example.git
Collecting git+git://github.com/BillMills/python-package-example.git
Cloning git://github.com/BillMills/python-package-example.git to /private/var/folders/c_/8qcnm5sj3kg7_f887qv473tm0000gn/T/pip-mx1vcsod-build
Collecting numpy (from python-package-example==0.1)
Downloading numpy-1.14.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.7MB)
100% |████████████████████████████████| 4.7MB 305kB/s
Installing collected packages: numpy, python-package-example
Running setup.py install for python-package-example ... done
Successfully installed numpy-1.14.1 python-package-example-0.1
如果我现在运行pip freeze 来查看包是否已安装:
(test) pc-207-126:Desktop rafael$ pip freeze
numpy==1.14.1
python-package-example==0.1
如您所见,安装成功并且还安装了 Python-Package-Example 的一些依赖项(即 numpy)。
注意: github.com/BillMills/python-package-example.git 使用 Python 2 语法。有关包含 Python 3 语法的示例,请参阅https://github.com/kennethreitz/samplemod。区别在于 init 中的导入语法,python 2 使用 'import somePython' 而 python 3 使用 'from .导入一些Python'