Para mim não está claro qual a necessidade de utilizar um ambiente virtual para desenvolver o modelo.
Eu entendi perfeitamente a questão do conflito das versões, porém na minha concepção, uma vez que meu modelo está pronto e salvo em binário pelo Pickle, qual o motivo de eu precisar importar a biblioteca do sklearn no arquivo main.py sendo que não irei utilizá-la?
O objetivo desse arquivo main.py não seria apenas executar o flask, carregar os arquivos pickle necessários e usá-los sem ter a necessidade de importar as bibliotecas em que eles foram desenvolvidos?
Exemplo: supondo que a variável modelo
é meu objeto LinearRegression já "fitado", quando for usar o comando modelo.predict([[valor]])
, não há necessidade de ter no arquivo main a linha de importação from sklearn.linear_model import LinearRegression