Vin*_*mas 72 command-line bash software-installation windows-10 windows-subsystem-for-linux
我在尝试使用junyanz/pytorch-CycleGAN-and-pix2pix 时在 WSL 中遇到错误。
我使用 Windows 10 上的PyTORCH 中的步骤在 Windows 10 x64 上成功执行了所有安装步骤:带有屏幕截图的说明,然后是带有 GitHub 桌面的 Windows 版 Ubuntu如何在 Windows 10 上安装和使用 Linux Bash Shell。
但是我在最新的步骤中被阻止了。
这是我尝试在 Windows 中下载或训练模型的地方。例如,使用 Ubuntu Linux 提示符,我手动导航到适当的位置并键入如下命令(我也在 su 模式下尝试过)
bash pretrained_models/download_pix2pix_model.sh facades_label2photo
Run Code Online (Sandbox Code Playgroud)
我收到一个即时错误,总是一样的,类似于这些:
root@Azure:/mnt/c/Users/vincent/Downloads/vision/pytorch-CycleGAN-and-pix2pix# bash pretrained_models/download_pix2pix_model.sh facades_label2photo
pretrained_models/download_pix2pix_model.sh: line 2: $'\r': command not found
Note: available models are edges2shoes, sat2map, and facades_label2photo
pretrained_models/download_pix2pix_model.sh: line 4: $'\r': command not found
]pecified [facades_label2photo
pretrained_models/download_pix2pix_model.sh: line 6: $'\r': command not found
mkdir: cannot create directory ‘./checkpoints/facades_label2photo\r_pretrained\r’: No such file or directory
pretrained_models/download_pix2pix_model.sh: line 10: $'\r': command not found
WARNING: timestamping does nothing in combination with -O. See the manual
for details.
: No such file or directoryhphoto
pretrained_models/download_pix2pix_model.sh: line 12: $'\r': command not found
pretrained_models/download_pix2pix_model.sh: line 13: $'\r': command not found
Run Code Online (Sandbox Code Playgroud)
任何的想法?
Cha*_*yah 86
WSL内部:
sudo apt-get install dos2unix
Run Code Online (Sandbox Code Playgroud)
然后,
dos2unix [file]
Run Code Online (Sandbox Code Playgroud)
完整文档:
man dos2unix
Run Code Online (Sandbox Code Playgroud)
拯救了我的一天,希望它有所帮助。
Eli*_*gan 16
steeldriver 是正确的,问题在于您的文件以 Windows行结尾并且bash无法运行它们。$'\r'是回车符 (CR) 的表示,它是传统 DOS 和 Windows 行尾 (CR LF) 的一部分,但在传统的 Unix 样式行尾 (LF) 中不存在。
正如您所说,您正在键入命令以尝试在 中运行脚本bash,但请注意,该脚本实际上存储在您的 Ubuntu (WSL) 系统之外的Windows下载目录中:
/mnt/c/Users/vincent/Downloads/vision/pytorch-CycleGAN-and-pix2pix
Run Code Online (Sandbox Code Playgroud)
以 开头的 WSL 路径/mnt/c(其中c可以是任何 Windows 驱动器号)是访问Ubuntu 系统之外的文件和目录的路径。作为 Windows 路径,即:
C:\Users\vincent\Downloads\vision\pytorch-CycleGAN-and-pix2pix
Run Code Online (Sandbox Code Playgroud)
文件存储在安装 Ubuntu 的区域之外的Windows 系统中并不能保证它使用 Windows 样式而不是 Unix 样式的行尾。但是,如果您在 Windows 中使用 Git 下载文件,其默认配置是为您提供 Windows 样式的行尾。
要解决这个问题最简单的方法是真的只下载你需要的文件内从您的Ubuntu系统bash提示。我建议您完全更新 Ubuntu 系统,然后git 在 Ubuntu 中安装,并且build-essential它提供了从源代码编译大多数软件所需的有用工具。对于 Python 程序,您可能不需要build-essential; 如果您愿意,可以省略它,但我怀疑您最终会需要它。
sudo apt update && sudo apt upgrade && sudo apt install git build-essential
Run Code Online (Sandbox Code Playgroud)
然后使用该cd命令转到您要下载软件的目录。这应该是你的 Ubuntu 系统中的一个目录。例如,它可能是你的 Ubuntu 主目录或里面的某个地方。在那里,从 GitHub 克隆存储库。我是src在我的主目录中创建的目录中完成的。
cd ~/src
git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix.git
Run Code Online (Sandbox Code Playgroud)
当然,您很可能必须先安装依赖项。为此,只需按照所有官方说明进行操作。在Ubuntu 系统中执行所有这些步骤。
小智 16
如果您使用的是 Windows,
小智 5
我遇到了这个问题,解决方案是将 git 配置为以 Linux 行结束方式检出特定文件。
您可以将文件添加到您的 git 根目录名称.gitattributes,该文件为 git配置特定属性(请参阅完整文档)。
添加行
# Convert to LF line endings on checkout.
*.sh text eol=lf
Run Code Online (Sandbox Code Playgroud)
配置 git 以签出.sh带有 LF 行结尾的文件,即使在 Windows 机器上也是如此。