cygwin 中的 aws cli - 如何清除 windows 和 cygwin 样式路径中的差异
aws cli in cygwin - how to clean up differences in windows and cygwin style paths
我怀疑这是我在正确设置路径变量方面的无能,但我很茫然。
我已经在 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...我什至尝试在 [=55= 中执行 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而不是windowsanaconda环境
不幸的是,pip uninstall 只是在尝试删除 awscli 时挂起,我不知道如何强制它使用 cygwin python 如果我可以 uninstall/reinstall。在多次尝试修复我的路径变量之后,我不知所措。
感谢任何建议。
感谢上面评论中的 matzeri 指导我进行修复。
问题是 cygwin 有它自己的 python 版本...但不是 pip...所以当我在 cygwin 中使用 "pip install" 安装 awscli 时,它是 windows/anaconda 点子。正如 matzeri 指出的那样,该解决方案不涉及固定路径,它永远不会用路径解决这个问题……就是这两行……
python -m ensurepip # install a cygwin pip
pip install awscli # to install awscli for cygwin
为在 Anacond2 中遇到此问题的人添加我的修复程序
安装anaconda2后,运行在cygwin中执行此命令(假设您已将其安装在c:\anaconda2)
echo "PATH=$PATH:/cygdrive/c/anaconda2" >> .bash_profile
echo "PATH=$PATH:/cygdrive/c/anaconda2/Scripts" >> .bash_profile
source .bash_profile
可在 https://www.davidbaumgold.com/tutorials/set-up-python-windows/#installing-cygwin
获取更多信息
当 运行 pip install awscli
来自 cygwin 时,它可能会在 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。
在为此花费了大量时间之后,我找到了一个可行的解决方案。
主要问题是 cygwin 没有安装 python,并且不知道在哪里可以找到您机器上现有的 Windows Anaconda 版本。这可以通过 cygwin 中的 运行ning which python
进行验证 - 它无法找到 python 的保存位置。请注意,这可能会造成混淆,因为 运行ning pip install awscli
可能不会抛出错误消息。 Cygwin 实际上在 Window 的 Python 的 Anaconda 安装中安装了 awscli(我觉得这很奇怪,因为我们没有 运行 conda install awscli
)。
但是,与其尝试将 cygwin 指向您计算机上已安装的 Anaconda python 版本,不如仅安装一个特定于 cygwin 的 python 实例,这样会让您省去很多麻烦.此处记录了执行此操作的步骤:http://wiki.fast.ai/index.php/Awscli_in_cygwin
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
...但是请注意,第一个命令 pip uninstall awscli
"hung up" 对我来说。所以只需使用 quit()
退出它并按顺序继续其他人。
如果你在 cygwin 中 运行 which python
并且它指向 cygin 版本(即 /usr/bin/python ,而不是: /users/... /蟒蛇2/)。
此外,如果您在观看 fast.ai 课程 (http://course.fast.ai/lessons/aws.html), then the next step is CRITICAL for Windows users: when you download all the shell scripts from Github setup folder (https://github.com/fastai/courses/tree/master/setup) 的设置视频时碰巧提出这个问题,Windows 会自动添加 CRLF 行终止符!因此,在cygwin中,运行下面的命令可以去掉这些行尾:
apt-cyg install dos2unix
dos2unix setup_p2.sh
dos2unix setup_instance.sh
- 最后,
bash setup_p2.sh
这应该可以解决问题。
我怀疑这是我在正确设置路径变量方面的无能,但我很茫然。
我已经在 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...我什至尝试在 [=55= 中执行 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而不是windowsanaconda环境
不幸的是,pip uninstall 只是在尝试删除 awscli 时挂起,我不知道如何强制它使用 cygwin python 如果我可以 uninstall/reinstall。在多次尝试修复我的路径变量之后,我不知所措。
感谢任何建议。
感谢上面评论中的 matzeri 指导我进行修复。
问题是 cygwin 有它自己的 python 版本...但不是 pip...所以当我在 cygwin 中使用 "pip install" 安装 awscli 时,它是 windows/anaconda 点子。正如 matzeri 指出的那样,该解决方案不涉及固定路径,它永远不会用路径解决这个问题……就是这两行……
python -m ensurepip # install a cygwin pip
pip install awscli # to install awscli for cygwin
为在 Anacond2 中遇到此问题的人添加我的修复程序
安装anaconda2后,运行在cygwin中执行此命令(假设您已将其安装在c:\anaconda2)
echo "PATH=$PATH:/cygdrive/c/anaconda2" >> .bash_profile
echo "PATH=$PATH:/cygdrive/c/anaconda2/Scripts" >> .bash_profile
source .bash_profile
可在 https://www.davidbaumgold.com/tutorials/set-up-python-windows/#installing-cygwin
获取更多信息当 运行 pip install awscli
来自 cygwin 时,它可能会在 Window 的 Anaconda Python 安装中安装 awscli,而不是在 Cygwin 的 Python(它是你想要的)。
然后,当运行 aws
时,你会得到一个找不到aws
可执行文件的错误。我找到的解决方案是通过以下来自 cygwin shell:
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。
在为此花费了大量时间之后,我找到了一个可行的解决方案。
主要问题是 cygwin 没有安装 python,并且不知道在哪里可以找到您机器上现有的 Windows Anaconda 版本。这可以通过 cygwin 中的 运行ning which python
进行验证 - 它无法找到 python 的保存位置。请注意,这可能会造成混淆,因为 运行ning pip install awscli
可能不会抛出错误消息。 Cygwin 实际上在 Window 的 Python 的 Anaconda 安装中安装了 awscli(我觉得这很奇怪,因为我们没有 运行 conda install awscli
)。
但是,与其尝试将 cygwin 指向您计算机上已安装的 Anaconda python 版本,不如仅安装一个特定于 cygwin 的 python 实例,这样会让您省去很多麻烦.此处记录了执行此操作的步骤:http://wiki.fast.ai/index.php/Awscli_in_cygwin
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
...但是请注意,第一个命令 pip uninstall awscli
"hung up" 对我来说。所以只需使用 quit()
退出它并按顺序继续其他人。
如果你在 cygwin 中 运行 which python
并且它指向 cygin 版本(即 /usr/bin/python ,而不是: /users/... /蟒蛇2/)。
此外,如果您在观看 fast.ai 课程 (http://course.fast.ai/lessons/aws.html), then the next step is CRITICAL for Windows users: when you download all the shell scripts from Github setup folder (https://github.com/fastai/courses/tree/master/setup) 的设置视频时碰巧提出这个问题,Windows 会自动添加 CRLF 行终止符!因此,在cygwin中,运行下面的命令可以去掉这些行尾:
apt-cyg install dos2unix
dos2unix setup_p2.sh
dos2unix setup_instance.sh
- 最后,
bash setup_p2.sh
这应该可以解决问题。