无法从分支升级pip版本

时间:2017-07-10 16:36:12

标签: python pip python-3.5

我的暂存设置使用ingenious作为点子 我的升级工具是

sudo pip3.5 install git+https://github.com/my_fork/INGInious.git@my_branch --upgrade --no-cache-dir

我注意到有些文件升级了,有些文件没有

drwxr-xr-x  3 root root  155 Jul 10 19:14 agent
drwxr-xr-x  3 root root   59 Jul 10 19:14 backend
drwxr-xr-x  3 root root  126 Jul 10 19:14 client
drwxr-xr-x  6 root root 4096 Jul 10 19:14 common
drwxr-xr-x. 6 root root   78 Jul 10 19:14 frontend
-rw-r--r--  1 root root  318 Jul 10 19:14 __init__.py
drwxr-xr-x  2 root root   36 Jul 10 19:14 __pycache__

但是一个明确更改并推送的文件没有得到更新

cd /usr/lib/python3.5/site-packages/inginious
ll frontend/webapp/plugins/matrix/admin.html
-rw-r--r-- 1 root root 3892 Feb 22 21:08 frontend/webapp/plugins/matrix/admin.htm

可能是什么原因??

2 个答案:

答案 0 :(得分:2)

.html文件是默认情况下未复制的文件。在pip发行版中包含它们的方法不止一种,INGInious使用的方法是MANIFEST.in文件。

https://github.com/UCL-INGI/INGInious/blob/master/MANIFEST.in

只需在文件末尾添加行recursive-include inginious/frontend/webapp/plugins/matrix *,setup.py将包含文件(不仅包括.html文件;此特定行包含此目录中不是.py文件的任何其他文件)。

有关更多文档,请参阅https://docs.python.org/3.5/distutils/sourcedist.html#specifying-the-files-to-distribute: - )

答案 1 :(得分:1)

由于你所谈论的文件是一个html文件,因此很可能它不是由文件setup.py和requires.txt中的python包调用的。虽然pip关心包中的python文件的版本,但如果将它们列为该包的一部分,它只会担心它们,而且通常会留下未明确列为setup.py数据部分一部分的辅助文件单独

由于您显然正在开发自己的开发分支,我建议卸载然后cd到您的/ a git clone然后使用:pip3 install -e .这将在您的克隆目录之间创建一个软链接和正常的图书馆位置。

我还要考虑使用venv进行此类工作,尤其是当您检查pip install是否得到应有的一切时。