Настроить Python-путь для Anaconda в Cygwin
Я пытаюсь установить Anaconda на моем компьютере с Windows 7. Я часто использую cygwin для моей работы в командной строке, и я хотел бы управлять Anaconda оттуда. Я работал с графическим установщиком без каких-либо проблем и проверил необходимые поля, чтобы сбросить мой путь по умолчанию к этой установке python. Я продолжаю проверять, где находится python, и изначально я получаю это …
$ which python /usr/bin/python
Отсюда питон работает отлично …
$ python Python 2.7.5 (default, Oct 2 2013, 22:34:09) [GCC 4.8.1] on cygwin Type "help", "copyright", "credits" or "license" for more information.
Но я пытаюсь работать из анаконды, поэтому мне нужно просто переопределить мой путь …
$ export PATH=/cygdrive/c/anaconda:$PATH $ which python /cygdrive/c/anaconda/python
И теперь мне должно быть хорошо идти, но когда я пытаюсь войти в python, он просто зависает
$ python
Любая идея, почему это может произойти? вербальное возвращение, ниже …
$ python -v # installing zipimport hook import zipimport # builtin # installed zipimport hook # C:\anaconda\lib\site.pyc matches C:\anaconda\lib\site.py import site # precompiled from C:\anaconda\lib\site.pyc # C:\anaconda\lib\os.pyc matches C:\anaconda\lib\os.py import os # precompiled from C:\anaconda\lib\os.pyc import errno # builtin import nt # builtin # C:\anaconda\lib\ntpath.pyc matches C:\anaconda\lib\ntpath.py import ntpath # precompiled from C:\anaconda\lib\ntpath.pyc # C:\anaconda\lib\stat.pyc matches C:\anaconda\lib\stat.py import stat # precompiled from C:\anaconda\lib\stat.pyc # C:\anaconda\lib\genericpath.pyc matches C:\anaconda\lib\genericpath.py import genericpath # precompiled from C:\anaconda\lib\genericpath.pyc # C:\anaconda\lib\warnings.pyc matches C:\anaconda\lib\warnings.py import warnings # precompiled from C:\anaconda\lib\warnings.pyc # C:\anaconda\lib\linecache.pyc matches C:\anaconda\lib\linecache.py import linecache # precompiled from C:\anaconda\lib\linecache.pyc # C:\anaconda\lib\types.pyc matches C:\anaconda\lib\types.py import types # precompiled from C:\anaconda\lib\types.pyc # C:\anaconda\lib\UserDict.pyc matches C:\anaconda\lib\UserDict.py import UserDict # precompiled from C:\anaconda\lib\UserDict.pyc # C:\anaconda\lib\_abcoll.pyc matches C:\anaconda\lib\_abcoll.py import _abcoll # precompiled from C:\anaconda\lib\_abcoll.pyc # C:\anaconda\lib\abc.pyc matches C:\anaconda\lib\abc.py import abc # precompiled from C:\anaconda\lib\abc.pyc # C:\anaconda\lib\_weakrefset.pyc matches C:\anaconda\lib\_weakrefset.py import _weakrefset # precompiled from C:\anaconda\lib\_weakrefset.pyc import _weakref # builtin # C:\anaconda\lib\copy_reg.pyc matches C:\anaconda\lib\copy_reg.py import copy_reg # precompiled from C:\anaconda\lib\copy_reg.pyc # C:\anaconda\lib\traceback.pyc matches C:\anaconda\lib\traceback.py import traceback # precompiled from C:\anaconda\lib\traceback.pyc # C:\anaconda\lib\sysconfig.pyc matches C:\anaconda\lib\sysconfig.py import sysconfig # precompiled from C:\anaconda\lib\sysconfig.pyc # C:\anaconda\lib\re.pyc matches C:\anaconda\lib\re.py import re # precompiled from C:\anaconda\lib\re.pyc # C:\anaconda\lib\sre_compile.pyc matches C:\anaconda\lib\sre_compile.py import sre_compile # precompiled from C:\anaconda\lib\sre_compile.pyc import _sre # builtin # C:\anaconda\lib\sre_parse.pyc matches C:\anaconda\lib\sre_parse.py import sre_parse # precompiled from C:\anaconda\lib\sre_parse.pyc # C:\anaconda\lib\sre_constants.pyc matches C:\anaconda\lib\sre_constants.py import sre_constants # precompiled from C:\anaconda\lib\sre_constants.pyc # C:\anaconda\lib\locale.pyc matches C:\anaconda\lib\locale.py import locale # precompiled from C:\anaconda\lib\locale.pyc import encodings # directory C:\anaconda\lib\encodings # C:\anaconda\lib\encodings\__init__.pyc matches C:\anaconda\lib\encodings\__init__.py import encodings # precompiled from C:\anaconda\lib\encodings\__init__.pyc # C:\anaconda\lib\codecs.pyc matches C:\anaconda\lib\codecs.py import codecs # precompiled from C:\anaconda\lib\codecs.pyc import _codecs # builtin # C:\anaconda\lib\encodings\aliases.pyc matches C:\anaconda\lib\encodings\aliases.py import encodings.aliases # precompiled from C:\anaconda\lib\encodings\aliases.pyc import operator # builtin # C:\anaconda\lib\functools.pyc matches C:\anaconda\lib\functools.py import functools # precompiled from C:\anaconda\lib\functools.pyc import _functools # builtin import _locale # builtin # C:\anaconda\lib\encodings\cp1252.pyc matches C:\anaconda\lib\encodings\cp1252.py import encodings.cp1252 # precompiled from C:\anaconda\lib\encodings\cp1252.pyc # zipimport: found 13 names in C:\anaconda\lib\site-packages\runipy-0.1.0-py2.7.egg # zipimport: found 144 names in C:\anaconda\lib\site-packages\setuptools-3.6-py2.7.egg Python 2.7.7 |Anaconda 2.0.1 (64-bit)| (default, Jun 11 2014, 10:40:02) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. Anaconda is brought to you by Continuum Analytics. Please check out: http://continuum.io/thanks and htt
Другая (возможно связанная) проблема, с которой я столкнулась, требует сброса пути каждый раз, когда я закрываю / открываю cygwin. Я ввел следующий текст в .bashrc и .profile, чтобы попытаться установить путь навсегда:
# Set path to python from anaconda install export PATH=/cygdrive/c/anaconda:$PATH
После открытия и закрытия cygwin я возвращаюсь к:
$ which python /usr/bin/python
Может ли это быть связано с установкой определенных переменных среды системы?
- Обновите все пакеты пакетов, которые не поступают из конды
- Как сбросить корневую среду anaconda
- Как установить несколько ядер ipython 3.0 (python 2.7, python 3.4 и т. Д.) С anaconda под linux?
- Ubuntu, Anaconda: невозможно импортировать пакет python shapely
- Anaconda / MacOS: изменение версии python по умолчанию
Для работы с интерактивной оболочкой Python в Cygwin я использую опцию -i.
Чтобы получить его из установки Anaconda, я использовал описанные выше шаги:
$ export PATH=/cygdrive/c/anaconda:$PATH $ which python /cygdrive/c/anaconda/python
Затем я запускаю python в Cygwin с опцией -i:
$ python -i Python 2.7.8 |Anaconda 2.1.0 (64-bit)| (default, Jul 2 2014, 15:12:11) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. Anaconda is brought to you by Continuum Analytics. Please check out: http://continuum.io/thanks and https://binstar.org >>>>
Библиотеки также отлично работают. Например, теперь можно импортировать библиотеку pandas (которая была установлена через Anaconda).
>>>> import pandas >>>> pandas.DataFrame <class 'pandas.core.frame.DataFrame'>
Теперь, чтобы сделать это постоянным, я добавил путь в файл bashrc:
$ echo 'export PATH=/cygdrive/c/anaconda:$PATH' >> .bashrc $ source .bashrc $ which python /cygdrive/c/anaconda/python
Надеюсь, это поможет.
У меня тоже возникла проблема с созданием anaconda с моей системой Cygwin / Windows 7. Что получилось:
-
Отредактировано ~ / .bashrc. Добавьте ниже внизу файла.
export PATH=/cygdrive/c/Anaconda:$PATH
-
Это отобразило питон Cygwin в дистрибутив анаконды как доказательство, введя
which python
в консоли Cygwin. Однако при запуске python он зависает, заставляя меня выходить из команды. Я обнаружил, чтоpython -i
запустит интерактивный интерпретатор python без проблем.
Существует еще одна проблема с интерпретацией китов cydwin. Когда вы запускаете сценарий активации для среды, он, например, добавляет
/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah
/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah/Library/mingw-w64/bin/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah/Library / USR / бен
/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah/Library/bin
/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah/Scripts
к вашей ПУТЬ. Однако это не правильные каталоги в cygwin.
Я исправил это с помощью
ln -s /cygdrive/c /C
а затем, если вы создаете среды конда с конкретными версиями python, они должны работать.
Дорожка
Что касается проблемы с вашим пути, см. Раздел Установка anaconda для использования с окнами о том, как это исправить. Кроме того, вы можете просто запустить /cygdrive/c/Anaconda/python.exe
чтобы запустить python Anaconda / windows и оставить стандартный python
указывающий на версию cygwin.
Обратите внимание, что некоторые предложения, приведенные в Интернете, также включают в себя необходимые изменения для PYTHONPATH
: если вы используете python anaconda / windows, вам также нужны библиотеки python anaconda. Двоичные модули, такие как numpy
, наверняка будут разбиваться или ошибочно, если вы будете смешивать вещи. Самый простой способ проверить это – установить модуль в cygwin, который вам не нужен в Conda, и проверить, можете ли вы импортировать его из anaconda python. Если вы можете, ваш путь неправильный.
Anaconda python автоматически добавит c:\Anconda
к вашему PYTHONPATH, но если вы настроите его на использование библиотек python CYGWIN, они будут найдены перед библиотеками Anaconda. Пытаться
import sys sys.path
Терминал
Тем не менее, это также проблема термина: Anaconda (Windows) python ожидает, что оболочка Windows и современная оболочка cygwin будут похожи на xterm
, поэтому очень разные. Диагностируйте это, запустив python --help
, если это работает, но простой python
зависает, это интерактивная подсказка. Это означает, что вы можете запускать программы python, вы просто не можете взаимодействовать с ними.
Путь к этому заключается в использовании cygwin bash shell
вместо cygwin terminal
(оба находятся в группе Cygwin в меню «Пуск»). Они выглядят очень похожими, но шрифт в оболочке bash менее симпатичен, и вы не можете сделать окно шире, чем 80 символов (как и все другие окна CMD, никогда не понимали эту функцию). Это cygwin bash работает внутри CMD-окна, а ваш anaconda python будет интерактивным. cygwin terminal
дает вам оболочку bash, запущенную в производной шпатлевки, которая имитирует xterm и не может использоваться anaconda python.
Что касается установки вашего пути навсегда, отредактируйте файл .profile в своем домашнем каталоге (это скрытый файл).
.profile (другие имена также действительны, см. страницу bash man) содержит команды bash. Он выполняется, когда bash запускается как оболочка входа.
В нижней части этого файла введите команду set path:
export PATH=/cygdrive/c/anaconda:$PATH
Что касается того, почему python висит, предоставьте дополнительную информацию – например, что такое вывод python -v
?
Я немного поздно прихожу к этому, но у меня была такая же проблема, как у вас @thomasshouler. Попробуйте добавить строку экспорта ниже в конец .bash_profile и .profile файлов, а также ваш .bashrc файл (как упоминалось выше). Не забудьте указать «источник .bash_profile» и т. Д. Для каждого файла.
export PATH=/cygdrive/c/anaconda:$PATH
Найдено, что для Anaconda 4, выполните:
vim /home/[Username]/.bash_profile
Добавить к последней строке:
PATH = $ PATH: / cygdrive / с / Users / [Имя пользователя] / Anaconda3 / Scripts /
Это решение работало для меня, поскольку обычный anaconda3 / bin не мог быть найден.
- как проверить dtype столбца в python pandas
- gunicorn.errors.HaltServer: <HaltServer 'Рабочий не смог загрузить.' 3>
- Невозможно использовать Jupyter Notebook: jsonschema, очевидно, отсутствует
- Pycharm conda env не показывает пакеты, установленные через pip
- ipython читает из библиотеки Enthought
- не удается запустить ipython-ноутбук от anaconda
- Пакеты отсутствуют в текущих osx-64 и каналах
- Spyder 'runfile' не определен
- Pandas DataFrame.merge MemoryError
- Ошибка создания файла базы данных LMDB в Python для Caffe
- Запланируйте скрипт Python через пакетную обработку на окнах (используя Anaconda)