python - cygwin 中的 aws cli - 如何清除窗口和 cygwin 样式路径中的差异

标签 python cygwin aws-cli

我怀疑这是我在正确设置路径变量方面的无能,但我不知所措。

我已经在 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/

相关文章:

python - 如何在 tkinter GUI 中删除外部 Matplot 框架

python - Jupyter Notebook CPU 使用率低

python - 有人对在 wsgi 应用程序中使用 Psyco 有任何反馈吗?

字符串连接在 Bash cygwin 中不起作用

amazon-web-services - 如何下载一个S3 bucket的所有内容,然后上传到另一个bucket?

python - 关于 Python 导入的一些困惑

php - 尝试在 Yii2 中运行 phpunit 时出现 Cygwin 问题

bash - 使 xargs 在 Cygwin 中工作

amazon-web-services - 加密 .aws/credentials

shell - 如何在 Circle CI 中设置环境变量