【问题标题】:pycharm ssh interpter No such file or directorypycharm ssh解释器没有这样的文件或目录
【发布时间】:2016-03-25 09:17:04
【问题描述】:

我使用 macbook pro 15 作为本地机器,我有一个运行 ubuntu 14.04 的远程服务器

我想使用远程解释器来运行所有计算,但我想从本地机器编写代码。

当我尝试使用 pycharm 运行一个简单文件时,我收到此错误:

ssh://donbeo@149.157.140.205:22/usr/bin/python3 -u /Users/donbeo/Documents/phd_code/prova.py
bash: line 0: cd: /Users/donbeo/Documents/phd_code: No such file or directory
/usr/bin/python3: can't open file '/Users/donbeo/Documents/phd_code/prova.py': [Errno 2] No such file or directory

Process finished with exit code 2

我看到很少有人报告同样的问题,但到目前为止我还没有找到好的答案。大多数问题确实是指旧版本的pycharm。

很明显,该文件不在我的远程计算机中,因为我在本地计算机中使用 pycharm 创建了它。我期待 pycharm 在本地和远程机器之间进行某种同步。

【问题讨论】:

  • 您必须为您的项目定义部署设置和远程解释器。当然,在执行之前部署您的代码。我会在晚上发布详细的答案(如果没有人在我之前在这里发布)。
  • 在工具下,然后是部署,然后是配置。
  • 我应该使用什么type FTP
  • 应该专门配置FTP。 ssh 通常包括 scp 或 sftp。
  • 但是没有ssh。 5 个选项:ftp、ftps、sftp、本地或安装文件夹、就地

标签: python ssh pycharm


【解决方案1】:

要在远程机器上执行您的代码,您必须执行几个步骤

为您的项目定义一个远程解释器

  1. 转到文件 -> 设置 -> 项目:{project_name} -> 项目解释器。
  2. 点击齿轮图标并选择添加遥控器。
  3. 添加您的 SSH 主机凭据和解释器路径(在远程计算机上)。
  4. 因此,您应该会在项目解释器下拉选择器中看到新位置,拼写为 Python Version (ssh://login@host:port/path/to/interpreter)。包裹清单应填写记录。

定义部署设置

  1. 转到文件 -> 设置 -> 构建、执行、部署 -> 部署
  2. 创建新的部署设置并填写 ssh 主机配置
    • 类型:SFTP
    • SFTP 主机:与解释器主机相同
    • 根路径:上传文件的路径
  3. 点击“测试 SFTP 连接”按钮检查提供的数据是否正确。
  4. 转到映射并配置本地路径和部署路径之间的映射。 部署路径相对于根路径 - / 相当于 /my/root/path/dir 相当于 /my/root/path/dir 等。

部署您的代码

  1. 选择工具 -> 部署 -> 上传到 {deployment settings name}
  2. 上传过程将在后台启动。等待上传完成。

运行您的代码

  1. 右键单击要运行的文件并选择“运行”。代码应该在远程机器上运行。

【讨论】:

  • 我认为我的问题与映射有关。这些是我的价值观:local path :/Users/donbeo/Documents/phd_codedeployement path:/home/donbeo/Documents/phd_code/web path:/home/donbeo/Documents/phd_code/ 但尽管如此我仍然收到错误/usr/bin/python3: can't open file '/Users/donbeo/Documents/phd_code/prova.py': [Errno 2] No such file or directory
  • @Donbeo 您在 Deployment -> Connection 中的根路径是什么?
  • /home/donbeo 我应该把它改成别的吗?我使用了自动检测按钮
  • 我已经解决了。在run-> edit configurations -> path mappings 我写了/Users/donbeo/Documents=/home/donbeo/Documents
  • 有没有人知道怎么把这两个步骤结合起来,这样当你点击Run的时候会先自动部署?
【解决方案2】:

可能由以下原因之一引起:

1。您没有在远程服务器上部署您的代码。!

  • 确保在服务器上部署了最新版本的代码。您始终可以通过工具 -> 部署 -> 上传到 ... 或使用 Ctrl + Shift + Alt + x 来部署代码。
  • 要设置部署路径,请转到文件 -> 设置 -> 构建、执行、部署 -> 部署,然后输入远程服务器详细信息作为您的部署机器。
  • 在“映射”选项卡中,确保在服务器上您有权读取和编辑文件的某处定义了部署路径。

2。您无权读取和更改远程服务器上部署路径上的文件。

  • 返回文件 -> 设置 -> 构建、执行、部署 -> 部署,然后在“映射”选项卡上更改部署路径。

【讨论】:

    【解决方案3】:

    确保您的解释器选择为用于编译的 SSH,而不是用于部署的 STFP

    【讨论】:

      【解决方案4】:

      有时您可以正确设置所有内容(解释器、部署、路径映射等),但 PyCharm 一直尝试在远程机器上使用您的本地路径。

      如果发生这种情况,请尝试以下 4 个修复:

      1. 转到File->Invalid Caches / Restart

      ...如果问题仍未解决:

      1. 转到Preferences->Python Interpreter->Path Mappings 并检查解释器的路径映射。它们或多或少应该是这样的:

      ...再次,如果上一步不起作用:

      1. 转到Run->Edit Configurations... 并检查路径映射是否正确:

      1. 您也可以尝试将 脚本工作目录 的本地路径替换为远程路径(就像您已经在该机器中一样)。

      1. 如果您收到 ModuleNotFoundError 但连接似乎正常,请转到 Run->Edit Configurations...->Environment Variables 并将项目的根路径添加到 PYTHONPATH 变量。

      【讨论】:

      • 是的!手动添加路径映射(在 Run->Edit Configurations... 下)对我有用!但是,当我关闭然后重新打开 PyCharm 时,我又遇到了同样的问题。我通过再次保存文件来解决它(这触发了文件传输到远程机器)。
      【解决方案5】:

      我正在运行PyCharm 2018.3

      问题:

      首先,我没有[Errno 2] No such file or directory 的问题。然后我突然就遇到了这个问题。

      当我这样做时出现了问题:

      • 首选项 -> 项目:{project_name} -> 项目解释器
      • 我没有选择“单击 cog 图标并选择添加远程”,而是从下拉菜单中选择了我之前配置的解释器(之前运行良好)

      通过上述步骤,我遇到了[Errno 2] No such file or directory 的问题。

      原因是该文件夹没有自动同步到远程服务器(一个错误?),我也找不到将其配置为同步的方法。配置DeploymentPath Mappings 确实有效,但是人工太多,容易出错。

      解决办法:

      我所要做的就是添加一个新的远程解释器,尽管之前已经存在相同的配置。 (为了安全起见,我确实删除了旧的 ssh 解释器和旧的部署,也删除了 .idea 文件夹)然后一切都按预期工作。

      • 我不需要配置部署
      • 我不需要配置路径映射

      【讨论】:

        【解决方案6】:

        遇到“miniconda3/envs/gpu/bin/python: can't open file '///home/.../test.py”这样的问题,可以直接运行python脚本文件pycharm 中的 locality 而不是在 pycharm 中运行服务器中的文件。

        【讨论】:

          猜你喜欢
          • 2017-08-15
          • 2019-02-19
          • 1970-01-01
          • 2014-06-17
          • 2012-03-07
          • 1970-01-01
          • 1970-01-01
          • 2018-03-10
          相关资源
          最近更新 更多