【发布时间】:2019-09-06 21:35:46
【问题描述】:
我正在开发我的第一个 python 包,所以我对这一切都很陌生。
我有自己的安装包,我通过pip install git+<URL>.git 安装。
当我尝试使用--upgrade 标志升级它时,它总是会重新安装,即使我没有更改我的setup.py 文件中的版本。
有人知道为什么会这样吗? o 也许有更好的方法来解决这个问题?
在提问之前我已经进行了研究,但我认为这是一个非常具体的问题。
我已经尝试过 venv 并退出。
python 3.7、pip 19.2、setuptools 40.8
# setup.py
from test import __version__
from setuptools import find_packages, setup
setup(
name="test",
version=__version__,
packages=find_packages(),
)
我希望得到类似的东西:
Requirement already up-to-date: test in ./<cwd>/.venv/lib/python3.7/site-packages (0.0.1)
但是我得到了这个:
Installing collected packages: test
Found existing installation: test 0.0.1
Uninstalling test-0.0.1:
Successfully uninstalled test-0.0.1
Running setup.py install for test ... done
Successfully installed test-0.0.1
【问题讨论】:
-
尝试强制升级策略添加
--upgrade-strategy only-if-needed标志安装命令。帮助说默认情况下应该是这种方式,但似乎恰恰相反 -
谢谢,@papercut,我做到了,机器人得到了同样的结果:
pip install --upgrade-strategy only-if-needed git+<URL> Requirement already satisfied: Click==7.0 in ./.venv/lib/python3.7/site-packages (from test==0.0.1) (7.0) Installing collected packages: test Found existing installation: test 0.0.1 Uninstalling test-0.0.1: Successfully uninstalled test-0.0.1 Running setup.py install for test ... done Successfully installed test-0.0.1
标签: python-3.x pip setuptools