В один прекрасный день я проснулся, и моя окружающая среда разорвалась, что было очень странно, потому что мой пип, конда, тензор-флоу и numpy сработали накануне.

Я начал день с того, что случайно установил неправильный пакет: pip install telegram-bot

Collecting telegram-bot
  Using cached https://files.pythonhosted.org/packages/0c/89/b5f6cdebf62f1b37dfc0fd53fee0f92760531a51d834e5238b3110429e93/telegram-bot-0.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/fy/xjkb7k0d3q16fqp1578b63f00000gn/T/pip-build-muqgbeev/telegram-bot/setup.py", line 12, in <module>
        import telegram
      File "/private/var/folders/fy/xjkb7k0d3q16fqp1578b63f00000gn/T/pip-build-muqgbeev/telegram-bot/telegram/__init__.py", line 15, in <module>
        from telegram import Bot, ChatActions
    ImportError: cannot import name 'Bot'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/fy/xjkb7k0d3q16fqp1578b63f00000gn/T/pip-build-muqgbeev/telegram-bot/

На данный момент список Конда не удалось загадочно:

$conda list

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/exceptions.py", line 1001, in __call__
        return func(*args, **kwargs)
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/cli/main.py", line 84, in _main
        exit_code = do_call(args, p)
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/cli/conda_argparse.py", line 82, in do_call
        exit_code = getattr(module, func_name)(args, parser)
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/cli/main_list.py", line 142, in execute
        show_channel_urls=context.show_channel_urls)
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/cli/main_list.py", line 80, in print_packages
        show_channel_urls=show_channel_urls)
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/cli/main_list.py", line 45, in list_packages
        installed = sorted(PrefixData(prefix, pip_interop_enabled=True).iter_records(),
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/core/prefix_data.py", line 116, in iter_records
        return itervalues(self._prefix_records)
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/core/prefix_data.py", line 145, in _prefix_records
        return self.__prefix_records or self.load() or self.__prefix_records
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/core/prefix_data.py", line 69, in load
        self._load_site_packages()
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/core/prefix_data.py", line 258, in _load_site_packages
        python_record = read_python_record(self.prefix_path, af, python_pkg_record.version)
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/gateways/disk/read.py", line 245, in read_python_record
        pydist = PythonDistribution.init(prefix_path, anchor_file, python_version)
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/common/pkg_formats/python.py", line 78, in init
        return PythonInstalledDistribution(prefix_path, anchor_file, python_version)
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/common/pkg_formats/python.py", line 382, in __init__
        super(PythonInstalledDistribution, self).__init__(anchor_full_path, python_version)
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/common/pkg_formats/python.py", line 106, in __init__
        self._check_files()
      File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/conda/common/pkg_formats/python.py", line 116, in _check_files
        assert isfile(fpath)
    AssertionError

`$ /Users/sunyitao/anaconda3/bin/conda list`

  environment variables:
                 CIO_TEST=<not set>
               CONDA_ROOT=/Users/sunyitao/anaconda3
                     PATH=/Users/sunyitao/google-cloud-sdk/bin:/Users/sunyitao/anaconda3/bin:/us
                          r/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.d
                          otnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Comman
                          ds:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin
               PYTHONPATH=::/Users/sunyitao/slim
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=<not set>

     active environment : None
       user config file : /Users/sunyitao/.condarc
 populated config files : /Users/sunyitao/.condarc
          conda version : 4.6.2
    conda-build version : 3.17.7
         python version : 3.6.5.final.0
       base environment : /Users/sunyitao/anaconda3  (writable)
           channel URLs : https://conda.anaconda.org/intel/osx-64
                          https://conda.anaconda.org/intel/noarch
                          https://repo.anaconda.com/pkgs/main/osx-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/osx-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/osx-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /Users/sunyitao/anaconda3/pkgs
                          /Users/sunyitao/.conda/pkgs
       envs directories : /Users/sunyitao/anaconda3/envs
                          /Users/sunyitao/.conda/envs
               platform : osx-64
             user-agent : conda/4.6.2 requests/2.20.0 CPython/3.6.5 Darwin/18.2.0 OSX/10.14.2
                UID:GID : 501:20
             netrc file : None
           offline mode : False

Так что я погуглил и сделал pip install -U setuptools и conda update conda без ошибок, но установка telegram-bot все же не удалась. Но я действительно хотел установить pip install python-telegram-bot что удалось.

Поэтому я запустил это, чтобы проверить, полностью ли удален первый пакет:

$pip uninstall telegram-bot
Cannot uninstall requirement telegram-bot, not installed

Запустил список conda снова, но та же ошибка.

Я перешел и сделал кое-что с тензорным потоком, работающим нормально. Через некоторое время я устанавливаю lightgbm с conda.

Downloading and Extracting Packages
lightgbm-2.2.1       | 617 KB    | ##################################################################################################### | 100%
numpy-base-1.15.4    | 6.0 MB    | ##################################################################################################### | 100%
llvm-openmp-4.0.1    | 454 KB    | ##################################################################################################### | 100%

Теперь, когда я запускаю import tensorflow as tf я получаю это:

Using TensorFlow backend.
File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/tensor_util.py", line 32, in <module>
    from tensorflow.python.framework import fast_tensor_util
  File "__init__.pxd", line 872, in init tensorflow.python.framework.fast_tensor_util
ValueError: numpy.ufunc has the wrong size, try recompiling. Expected 192, got 216

Изначально у меня был numpy 1.16 от pip и еще одна версия numpy от anaconda. Поэтому я удалил обе версии с помощью pip и затем conda uninstall numpy --force чтобы он не удалял все мои пакеты, которые зависели от numpy. Я запустил conda install numpy что удалось.

Но теперь, когда я импортирую NumPy я получаю:

ModuleNotFoundError: No module named 'numpy'

Проверил ли здравомыслие:

$which pip
/Users/sunyitao/anaconda3/bin/pip
$which conda
/Users/sunyitao/anaconda3/bin/conda
$which python
/Users/sunyitao/anaconda3/bin/python

проверка пипса:

$pip check
Exception:
Traceback (most recent call last):
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py", line 2797, in _dep_map
    return self.__dep_map
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py", line 2608, in __getattr__
    raise AttributeError(attr)
AttributeError: _DistInfoDistribution__dep_map

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py", line 2788, in _parsed_pkg_info
    return self._pkg_info
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py", line 2608, in __getattr__
    raise AttributeError(attr)
AttributeError: _pkg_info

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/commands/check.py", line 20, in run
    missing_reqs_dict, incompatible_reqs_dict = check_requirements(dists)
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/operations/check.py", line 10, in check_requirements
    missing_reqs = list(get_missing_reqs(dist, installed_dists))
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/operations/check.py", line 30, in get_missing_reqs
    for requirement in dist.requires():
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py", line 2552, in requires
    dm = self._dep_map
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py", line 2799, in _dep_map
    self.__dep_map = self._compute_dependencies()
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py", line 2808, in _compute_dependencies
    for req in self._parsed_pkg_info.get_all('Requires-Dist') or []:
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py", line 2790, in _parsed_pkg_info
    metadata = self.get_metadata(self.PKG_INFO)
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py", line 1468, in get_metadata
    value = self._get(self._fn(self.egg_info, name))
  File "/Users/sunyitao/anaconda3/lib/python3.6/site-packages/pip-9.0.3-py3.6.egg/pip/_vendor/pkg_resources/__init__.py", line 1577, in _get
    with open(path, 'rb') as stream:
FileNotFoundError: [Errno 2] No such file or directory: '/Users/sunyitao/anaconda3/lib/python3.6/site-packages/parso-0.3.1.dist-info/METADATA'
You are using pip version 9.0.3, however version 19.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Я обдумываю переустановку всего сейчас, но это действительно последний вариант, который может занять весь день.

Изменить: я исправил проблему NumPy запустив

conda config --add channels conda-forge
conda install numpy --force-reinstall

Теперь тензорный поток и numpy снова работают, но проверка pip и список conda по-прежнему не работают. Когда я активирую другой пункт проверки окружения, список conda будет работать, так что, похоже, проблема с моей базовой средой.

0