pycharm 我怎样才能上传.py文件到Linux服务器没有错误

utugiqy6  于 2022-11-29  发布在  PyCharm
关注(0)|答案(1)|浏览(179)

我有一个网站,用户通过HTML表单输入信息,而PhP是处理表单的服务器端脚本。然而,PhP将信息传递给服务器上的各种.py文件,.py文件分析信息并将结果返回给PhP,然后显示给用户。
我使用PyCharm作为我的本地测试环境,在将.py文件部署到站点之前对它们进行起草和测试。
选项1:如果我只是简单地将.py文件从我的本地计算机上传到我的远程Linux服务器,并添加适当的shebang行来引用我的服务器上的相关python venv,它们永远不会工作。即使我注解掉文件中的所有内容,并起草一些基本的2行程序来测试它,它也不会工作。
备选方案二:如果我在服务器上创建新的空白.py文件,然后将代码从本地计算机上的文件剪切并粘贴到这些空白.py文件中(并添加相关的shebang来引用我的venv),瞧,它起作用了。在这种情况下,我很小心地在第一个字符之后开始剪切,在最后一个字符之前结束。然后我只是在粘贴后修复它。我这样做是为了尽量避免复制我在PyCharm IDE中看不到的任何隐藏代码/标记。
这让我觉得PyCharm嵌入了某种隐藏的代码/标记,而这些代码/标记在IDE本身并不明显?这是真的吗?我读过关于将软件部署到远程服务器的PyCharm文档,但对我来说,所描述的过程似乎过于复杂,因为我只需要将一两个文件上传到我的服务器。此外,文档中没有任何内容要求您必须遵循该过程,否则您的.py文件将无法在其他计算机上工作。
有没有人知道:(a)为什么不能简单地将.py文件直接上传到Linux服务器;以及(b)在PyCharm中是否有一个简单的选项可以选择,这样我就可以避免这个问题?

qoefvg9y

qoefvg9y1#

Windows和Linux使用不同的字符来表示新行。Windows使用CRLF(回车,换行),而Linux使用LF。这意味着如果您将任何文本文件从Windows复制到Linux,它可能无法正常工作(反之亦然)。您的python文件无法工作是因为它们是在Windows上创建的,并且使用了错误的换行符。
为了解决这个问题,Linux中有许多命令行工具可以将所有CRLF字符转换为LF。下面是一些示例:

  1. How to convert DOS/Windows newline (CRLF) to Unix newline (LF)
  2. Convert line endings
  3. https://askubuntu.com/questions/803162/how-to-change-windows-line-ending-to-unix-version

相关问题