我怀疑这是我在正确设置路径变量方面的无能,但我不知所措。
我已经在 cygwin 中使用 pip 安装了 aws cli。
pip install awscli
我有两个 python 环境...一个 windows anaconda 发行版,以及 cygwin 可以为您安装的版本。
which python
> /usr/bin/python
where python
> C:\cygwin64\bin\python
> C:\windows-style-path-to-anaconda\python.exe
当我尝试运行 aws cli 时
aws --version
> C:\windows-style-path-to-anaconda\python.exe: can't open file
> 'cygdrive/c/cygdrive-style-path-to-anaconda/Scripts/aws':
> [Errno 2] No such file or directory'
我已经尝试将 aws 的路径添加到我的 Windows 路径变量中。运气不好。
我试过将它添加到我的 .bashrc
export PATH="$PATH:/cygdrive/c/cygdrive-style-path-to-anaconda/Scripts"
运气不好。
我试过修改 python 试图运行的“aws”。首先我修改了#!指向 cygwin python 而不是 windows python。
#!c:\cygwin64\bin\python
然后它可以找到要运行的文件“aws”...但是找不到任何要导入的文件...“awscli.clidriver”、“botocore._”等。
我尝试修改我的路径变量以指向这些的位置... anaconda/Lib/site-packages...我什至尝试在“aws”文件中执行 sys.path.insert(1, path)本身......它解决了这个问题,但它加载的每个文件都在其他地方寻找但没有找到它们,而且在 aws .py 文件中一次弄乱一个文件太多了。
这是在 cygwin 中...的工作方式...
cd /cygdrive/c/cygwin-path-to-anaconda/Scripts
./aws --version
> aws-cli/1.10.26 Python/2.7.11 Windows/7 botocore/1.4.17
但必须有更好的方法,对吗?要么……
正确设置我的路径变量
获取安装在cygwin python目录下的aws cli而不是windows anaconda环境
不幸的是,pip uninstall 只是在尝试删除 awscli 时挂起,如果我什至可以卸载/重新安装,我不知道如何强制它使用 cygwin python。在多次尝试修复我的路径变量之后,我不知所措。
感谢任何建议。
最佳答案
当从 cygwin 运行 pip install awscli
时,它可能会在 Window 的 Anaconda Python 安装中安装 awscli,而不是在 Cygwin 的 Python 中(这是您想要的)。
然后,当运行 aws
时,您将收到无法找到 aws
可执行文件的错误。我找到的解决方案是通过以下来自 cygwin shell 的 bash 命令在 cygwin 中安装 python/pip:
pip uninstall awscli
wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /bin
apt-cyg install python
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install awscli
确保在 cygwin 中安装了 wget。
关于python - cygwin 中的 aws cli - 如何清除窗口和 cygwin 样式路径中的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37149718/