EpistasisLab / tpot

A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.
http://epistasislab.github.io/tpot/
GNU Lesser General Public License v3.0
9.72k stars 1.57k forks source link

ImportWarning: can't resolve package from __spec__ or __package__ #785

Closed jarlva closed 5 years ago

jarlva commented 6 years ago

I'm new to TPOT and tried the digits example here. I got lots of the ImportWarning lines below. The script seems to completes fine. Is this an issue or can I ignore it? If ok to ignore, is there a way to suppress?

C:\Users\user\AppData\Local\Programs\Python\Python36\lib\importlib_bootstrap.py:219: ImportWarning: can't resolve package from spec or package, falling back on name and path return f(*args, **kwds)

Running on Windows 10 with python 3.6.6 and the following: absl-py==0.4.1 astor==0.7.1 atomicwrites==1.2.1 attrs==18.2.0 backcall==0.1.0 bleach==1.5.0 boto3==1.8.9 botocore==1.11.9 caffe2==0.8.1 cellbell==0.0.3 certifi==2018.8.24 chainer==4.1.0 chardet==3.0.4 click==6.7 cloudpickle==0.5.5 cntk==2.5.1 colorama==0.3.9 colorclass==2.2.0 coremltools==0.8 coverage==4.5.1 cycler==0.10.0 Cython==0.28.5 dask==0.19.4 dask-glm==0.1.0 dask-ml==0.10.0 deap==1.2.2 decorator==4.3.0 defusedxml==0.5.0 distributed==1.23.3 docutils==0.14 entrypoints==0.2.3 featuretools==0.3.0 filelock==3.0.6 future==0.16.0 gast==0.2.0 graphviz==0.9 grpcio==1.14.2 h5py==2.8.0 HeapDict==1.0.0 html5lib==0.9999999 hypothesis==3.70.3 idna==2.7 ipaddress==1.0.22 ipykernel==5.1.0 ipython==7.0.1 ipython-genutils==0.2.0 IPythonBell==0.10 ipywidgets==7.4.2 jedi==0.12.1 Jinja2==2.10 jmespath==0.9.3 jsonschema==2.6.0 jupyter==1.0.0 jupyter-client==5.2.3 jupyter-console==6.0.0 jupyter-core==4.4.0 jupyterthemes==0.19.6 Keras==2.2.2 Keras-Applications==1.0.4 Keras-Preprocessing==1.0.2 kiwisolver==1.0.1 lesscpy==0.13.0 libsvm==3.22 llvmlite==0.25.0 lmdb==0.92 lxml==4.2.4 Markdown==2.6.11 MarkupSafe==1.0 matplotlib==2.2.3 mistune==0.8.3 more-itertools==4.3.0 mpld3==0.3 msgpack==0.5.6 msgpack-python==0.5.6 multipledispatch==0.6.0 mxnet==1.2.0 nbconvert==5.4.0 nbformat==4.4.0 notebook==5.7.0 numba==0.40.0 numpy==1.15.2+mkl onnx==1.2.3 onnxmltools==1.0.0.0 packaging==17.1 pandas==0.23.4 pandas-datareader==0.6.0 pandocfilters==1.4.2 parso==0.3.1 patsy==0.5.0 pickleshare==0.7.4 Pillow==5.2.0 pip-check==2.3.3 pluggy==0.7.1 ply==3.11 prometheus-client==0.3.1 prompt-toolkit==2.0.4 protobuf==3.6.1 psutil==5.4.7 py==1.6.0 pydotplus==2.0.2 pyglet==1.3.2 Pygments==2.2.0 Pympler==0.6 pyparsing==2.2.0 pytest==3.8.0 pytest-cov==2.6.0 python-dateutil==2.7.3 pytz==2018.5 pywin32==224 pywinpty==0.5.4 PyYAML==3.13 pyzmq==17.1.2 qtconsole==4.4.1 requests==2.19.1 requests-file==1.4.3 requests-ftp==0.3.1 s3fs==0.1.6 s3transfer==0.1.13 scikit-learn==0.20.0 scikit-MDR==0.4.4 scipy==1.1.0 seaborn==0.9.0 Send2Trash==1.5.0 simplegeneric==0.8.1 six==1.11.0 skrebate==0.6 sortedcontainers==2.0.4 statsmodels==0.9.0 stopit==1.1.2 tblib==1.3.2 tensorboard==1.10.0 tensorflow==1.5.0 tensorflow-tensorboard==1.5.1 termcolor==1.1.0 terminado==0.8.1 terminaltables==3.1.0 testpath==0.3.1 tf2onnx==0.0.0.1 Theano==1.0.2 toolz==0.9.0 torch==0.4.0 torchvision==0.2.1 tornado==5.1 TPOT==0.9.5 tqdm==4.27.0 traitlets==4.3.2 tsfresh==0.11.1 typing==3.6.6 typing-extensions==3.6.5 update-checker==0.16 urllib3==1.23 wcwidth==0.1.7 Werkzeug==0.14.1 widgetsnbextension==3.4.1 winmltools==1.2.0.912 wrapt==1.10.11 xgboost==0.80 zict==0.1.3

weixuanfu commented 6 years ago

I think it is a issue about installing the latest version of deap (v1.2.2) in Windows. Check this related issue in deap repo.

weixuanfu commented 6 years ago

Reinstalling deap via conda should solve this issue (see the commends below). Please let me know if it works or not. If it works, we will update the docs of installation guide.

pip uninstall deap
conda install -c conda-forge deap 
jarlva commented 6 years ago

After running the commands (above) I now get: ModuleNotFoundError: No module named 'deap' It seems the python is not aware of deap anymore.

Running: conda list|findstr deap shows that conda installed deap: deap 1.2.2 py37h830ac7b_1000 conda-forge

Is there a way to "point/use' conda to the pip environment?

weixuanfu commented 6 years ago

You can manually modify your environment variables. Check this link for more details. Or you can build a new conda environment for installing TPOT and its dependencies.

jarlva commented 6 years ago

I tried and it all got messed up so I gave up. Clearly, tpot would benefit from an easier/cleaner integration with pip...

Update: Used the solution in the following link. []https://github.com/DEAP/deap/issues/240