我写了一个脚本来自动更新已安装的python软件包。该脚本每次在应用程序启动时运行,并确保如果有新的python软件包版本可用,它将下载并安装它。我在脚本中使用以下代码来实现这一目标-
python -m pip install --upgrade my_pyPackage
与上面的行脚本完美地工作。如果已经安装了软件包,它将给出以下输出-
Looking in indexes: <pypi_artifactory_url>
Requirement already satisfied: my_pyPackage in c:\path\to\site-packages (4.0.3)
但是,如果我将命令修改为-
python -m pip install --upgrade my_pyPackage --target <path\to\custom\dir>
如果有新版本可用,此脚本可以正常工作。但是,即使没有新版本,pip也会将缓存版本一次又一次地安装到目标目录中。
输出如下-
Looking in indexes: <pypi_artifactory_url>
Collecting my_pyPackege
Using cached my_pyPackege-4.0.3-py3-none-any.whl
Installing collected packages: my_pyPackege
Successfully installed my_pyPackege-4.0.3
我想避免/覆盖Case-II行为,并期望输出与Case-I一样。任何解决方案或更好的方法来解决此问题?
另一种(更简便的IMO)方法是简单地使用virtualenv本身中的pip可执行文件。
path\to\target_dir\Scripts\pip install --upgrade my_pyPackage
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句