我试图在我的Windows 7机器上安装Anaconda。 我经常使用cygwin来执行我的命令行工作,我想从那里pipe理Anaconda。 我已经通过graphics安装程序没有任何问题,并检查必要的框重置我的默认path到这个安装的Python。 我继续检查python在哪里,最初我得到这个…
$ which python /usr/bin/python
从这里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.
但是我试图从python那里工作,所以我只需要重新定义我的path…
$ 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
我遇到的另一个(可能相关的)问题是每次closures/打开cygwin时需要重置path。 我已经将以下文本input到.bashrc和.profile中,尝试永久设置path:
# Set path to python from anaconda install export PATH=/cygdrive/c/anaconda:$PATH
打开和closurescygwin后,我回到:
$ which python /usr/bin/python
这可能与设置某些系统环境variables有关吗?
为了在Cygwin中使用交互式Python shell,我使用-i选项。
为了从Anaconda安装,我使用了上面建议的步骤:
$ export PATH=/cygdrive/c/anaconda:$PATH $ which python /cygdrive/c/anaconda/python
然后我用-i选项启动Cygwin中的python:
$ 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 >>>>
图书馆也工作正常。 例如熊猫库(已通过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
我希望这有帮助。
我也遇到了一个问题,我的Cygwin / Windows 7系统安装了anaconda。 有效的是以下几点:
编辑〜/ .bashrc。 将以下添加到文件的底部。
export PATH=/cygdrive/c/Anaconda:$PATH
这将Cygwin的python映射到anaconda分布,作为证明,通过在Cygwin的控制台中输入which python
。 但是,启动Python时,它会挂断,迫使我跳出命令。 我发现python -i
将启动交互式Python解释器没有问题。
康达对cygwin的解释还有另一个问题。 当您为某个环境提供激活脚本时,它会提前例如
/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/Anconda3/envs/blah/Library在/ usr / bin中
/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah/Library/bin
/C/Users/Thomas.Harris/AppData/Local/Continuum/Anaconda3/envs/blah/Scripts
到你的PATH。 但是,这些在cygwin中是不正确的目录。
我解决这个问题
ln -s /cygdrive/c /C
然后如果你创建具有特定版本的Python的conda环境,他们应该工作。
有关您的路径问题,请参阅安装anaconda与Windows一起使用以解决该问题。 或者,您可以运行/cygdrive/c/Anaconda/python.exe
来启动Anaconda / windows python,并将标准python
指向cygwin版本。
请注意,互联网上提供的建议很少包括对PYTHONPATH
的必要改变:如果你使用anaconda / windows python,你还需要anaconda python库。 像numpy
这样的二进制模块肯定会崩溃,或者如果混合起来,就会变得不合时宜。 检查这个最简单的方法是在Cygwin中安装一个你不需要在Conda中的模块,然后测试你是否可以从anaconda python中导入。 如果可以的话,你的路线是错误的。
Anaconda python会自动将c:\Anconda
添加到您的PYTHONPATH中,但是如果您将它设置为服务于CYGWIN python库,则会在Anaconda库之前找到这些库。 尝试
import sys sys.path
然而,这也是一个终端问题:蟒蛇(Windows)蟒蛇期望一个Windows壳和一个现代的cygwin外壳就像一个xterm
,所以非常不同。 通过运行python --help
诊断这个,如果可以的话,但是普通的python
挂起,交互式提示符就是问题。 这意味着你可以运行python程序,你只是不能与它们交互。
解决这个问题的方法是使用cygwin bash shell
而不是cygwin terminal
(两者都在“开始”菜单中的Cygwin组下)。 他们看起来非常相似,但在bash外壳的字体不那么漂亮,你不能让窗口比80个字符更宽(像所有其他的CMD窗口,从来没有理解的'功能')。 这是在CMD窗口内运行的cygwin bash,你的anaconda python将是交互式的。 cygwin terminal
给你一个bash shell,运行在一个putty衍生物中,它模仿一个xterm,不能被anaconda python使用。
关于永久设置您的路径, 编辑您的主目录中的.profile (这是一个隐藏的文件)。
.profile(其他名称也是有效的,请参阅bash手册页)包含bash命令。 当bash作为登录shell启动时,它被执行。
在这个文件的底部,把你的设置路径命令:
export PATH=/cygdrive/c/anaconda:$PATH
至于为什么蟒蛇挂,请提供更多的信息 – 例如python -v
的输出是什么?
我已经有点晚了,但是我遇到了同样的问题,就像@thomasshouler。 尝试将下面的导出行添加到.bash_profile和.profile文件的末尾以及.bashrc文件(如上所述)。 确保为每个文件“源.bash_profile”等。
export PATH=/cygdrive/c/anaconda:$PATH
发现对于蟒蛇4,做:
vim /home/[Username]/.bash_profile
追加到最后一行:
PATH = $ PATH:/ cygdrive / C /用户/ [用户名] / Anaconda3 /脚本/
这个解决方案为我工作,因为通常anaconda3 /斌无法找到。