@@ -181,6 +181,7 @@ def is_openvino_tokenizers_available():
181
181
try :
182
182
import openvino_tokenizers
183
183
except ImportError :
184
+ ov_major_version = _openvino_version .split ("-" )[0 ]
184
185
logger .info (
185
186
"OpenVINO Tokenizers is not available, tokenizer won't be converted. To automatically "
186
187
"convert tokenizer during OpenVINO model export install OpenVINO Tokenizers.\n "
@@ -189,31 +190,71 @@ def is_openvino_tokenizers_available():
189
190
"For pre-release OpenVINO version:\n "
190
191
"pip install --pre -U openvino openvino-tokenizers"
191
192
"--extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly\n "
192
- "For archive OpenVINO distribution:\n "
193
- "pip install --no-deps openvino-tokenizers\n "
194
- "For detailed installation instructions go to "
195
- "https://github.com/openvinotoolkit/openvino_tokenizers/tree/master?tab=readme-ov-file#installation"
193
+ "If you using archive OpenVINO distribution install release, nightly version or build from source:\n "
194
+ f"Release: pip install --no-deps openvino-tokenizers~={ ov_major_version } \n "
195
+ f"Nightly: pip install --pre openvino-tokenizers~={ ov_major_version } .0.dev --extra-index-url "
196
+ f"https://storage.openvinotoolkit.org/simple/wheels/nightly\n "
197
+ "Build from source instructions: https://github.com/openvinotoolkit/openvino_tokenizers"
198
+ "?tab=readme-ov-file#build-and-install-from-source\n "
196
199
)
197
200
return False
198
201
202
+ try :
203
+ pip_metadata_version = importlib_metadata .version ("openvino" )
204
+ is_nightly = False
205
+ except importlib_metadata .PackageNotFoundError :
206
+ try :
207
+ pip_metadata_version = importlib_metadata .version ("openvino-nightly" )
208
+ is_nightly = True
209
+ except importlib_metadata .PackageNotFoundError :
210
+ pip_metadata_version = False
211
+ is_nightly = False
212
+
199
213
try :
200
214
openvino_tokenizers ._get_factory ()
201
215
except RuntimeError as e :
202
216
tokenizers_version = openvino_tokenizers .__version__
217
+
203
218
if tokenizers_version == "0.0.0.0" :
204
- tokenizers_version = importlib_metadata .version ("openvino_tokenizers" ) or tokenizers_version
205
- logger .warning (
219
+ try :
220
+ tokenizers_version = importlib_metadata .version ("openvino_tokenizers" ) or tokenizers_version
221
+ except importlib_metadata .PackageNotFoundError :
222
+ pass
223
+ message = (
206
224
"OpenVINO and OpenVINO Tokenizers versions are not binary compatible.\n "
207
225
f"OpenVINO version: { _openvino_version } \n "
208
226
f"OpenVINO Tokenizers version: { tokenizers_version } \n "
209
227
"First 3 numbers should be the same. Update OpenVINO Tokenizers to compatible version. "
210
- "It is recommended to use the same day builds for pre-release version.\n "
211
- "For archive installation of OpenVINO try to build OpenVINO Tokenizers from source: "
212
- "https://github.com/openvinotoolkit/openvino_tokenizers/tree/master?tab=readme-ov-file"
213
- "#build-and-install-from-source\n "
214
- f"Error: { e } \n "
215
- "Tokenizer won't be converted."
216
228
)
229
+ if not pip_metadata_version :
230
+ message += (
231
+ "For archive installation of OpenVINO try to build OpenVINO Tokenizers from source: "
232
+ "https://github.com/openvinotoolkit/openvino_tokenizers/tree/master?tab=readme-ov-file"
233
+ "#build-and-install-from-source"
234
+ )
235
+ else :
236
+ message += "It is recommended to use the same day builds for pre-release version. "
237
+ if is_nightly :
238
+ message += (
239
+ "openvino-nightly package detected - use nightly drops from PyPI Simple "
240
+ "Repo (PEP 503) implementation on AWS S3 instead. "
241
+ )
242
+ message += "To update both OpenVINO and OpenVINO Tokenizers to release version perform:\n "
243
+ if is_nightly :
244
+ message += "pip uninstall -y openvino-nightly && "
245
+ message += (
246
+ "pip install --force-reinstall openvino openvino-tokenizers\n "
247
+ "To update both OpenVINO and OpenVINO Tokenizers to nightly version perform:\n "
248
+ )
249
+ if is_nightly :
250
+ message += "pip uninstall -y openvino-nightly && "
251
+ message += (
252
+ "pip install --pre -U openvino openvino-tokenizers "
253
+ "--extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly\n "
254
+ f"Error: { e } \n "
255
+ "Tokenizer won't be converted."
256
+ )
257
+ logger .warning (message )
217
258
return False
218
259
219
260
return True
0 commit comments