Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何将.py文件无错误地上载到Linux服务器_Python 3.x_Linux_Pycharm - Fatal编程技术网

Python 3.x 如何将.py文件无错误地上载到Linux服务器

Python 3.x 如何将.py文件无错误地上载到Linux服务器,python-3.x,linux,pycharm,Python 3.x,Linux,Pycharm,我有一个网站,用户通过HTML表单输入信息,PhP是处理表单的服务器端脚本。但是,PhP将该信息传递给服务器上的各种.py文件,.py文件分析该信息并将结果返回给PhP,然后PhP将结果显示给用户 在将.py文件部署到站点之前,我使用PyCharm作为本地测试环境来起草和测试.py文件。我遇到的问题与将.py文件发送到服务器有关 选项1:如果我只是将.py文件从本地计算机上载到远程Linux服务器,并添加适当的shebang行来引用服务器上的相关python venv,那么它们永远不会工作。即使

我有一个网站,用户通过HTML表单输入信息,PhP是处理表单的服务器端脚本。但是,PhP将该信息传递给服务器上的各种.py文件,.py文件分析该信息并将结果返回给PhP,然后PhP将结果显示给用户

在将.py文件部署到站点之前,我使用PyCharm作为本地测试环境来起草和测试.py文件。我遇到的问题与将.py文件发送到服务器有关

选项1:如果我只是将.py文件从本地计算机上载到远程Linux服务器,并添加适当的shebang行来引用服务器上的相关python venv,那么它们永远不会工作。即使我注释掉文件中的所有内容并起草一些基本的两行程序来测试它,它也不起作用

选项2:如果我在我的服务器上创建新的空白.py文件,然后将本地计算机上的文件中的代码剪切并粘贴到这些空白.py文件中(并添加相关的shebang以引用我的venv),瞧,它可以工作。在这种情况下,我会小心地在第一个字符之后开始剪切,在最后一个字符之前结束。然后我只是在粘贴后修复它。我这样做是为了避免复制我在PyCharm IDE中看不到的任何隐藏代码/标记

这让我觉得PyCharm正在嵌入的某种隐藏代码/标记在IDE本身中并不明显?这是真的吗?我已经阅读了PyCharm关于将软件部署到远程服务器的文档,但是当我只需要将一两个文件上载到服务器时,所描述的过程对我来说似乎过于复杂。此外,文档中没有任何内容说明您必须遵循该过程,否则您的.py文件将无法在其他机器上工作


有人知道吗:(a)为什么不能直接将.py文件上传到Linux服务器;(b)如果PyCharm中有一个简单的选项可以选择,这样我就可以避免这个问题了?

Windows和Linux使用不同的字符来表示新行。Windows使用CRLF(回车,换行),而Linux使用LF。这意味着,如果将任何文本文件从Windows复制到Linux,它可能无法正常工作(反之亦然)。python文件无法工作,因为它们是在Windows上创建的,并且使用了错误的换行符

为了解决这个问题,Linux中有多种命令行工具可以将所有CRLF字符转换为LF。以下是一些例子:


  • Windows和Linux使用不同的字符表示新行。Windows使用CRLF(回车,换行),而Linux使用LF。这意味着,如果将任何文本文件从Windows复制到Linux,它可能无法正常工作(反之亦然)。python文件无法工作,因为它们是在Windows上创建的,并且使用了错误的换行符

    为了解决这个问题,Linux中有多种命令行工具可以将所有CRLF字符转换为LF。以下是一些例子:


  • 谢谢这一定是问题所在。我假设在我上传之前在PyCharm中或者在我上传文件之后立即在CPanel中没有办法做到这一点,是吗?“我想不会,但如果你碰巧知道这对我来说会快得多。”拉斯普京·皮查姆对此有一个设定。以下是链接:(顺便说一句,Python和PyCharm使用的术语与CRLF不同。“\r”表示CR,“\n”表示LF。因此,请确保在PyCharm设置中选择“Unix和MacOS(\n)”)谢谢!!!这正是我要找的!谢谢这一定是问题所在。我假设在我上传之前在PyCharm中或者在我上传文件之后立即在CPanel中没有办法做到这一点,是吗?“我想不会,但如果你碰巧知道这对我来说会快得多。”拉斯普京·皮查姆对此有一个设定。以下是链接:(顺便说一句,Python和PyCharm使用的术语与CRLF不同。“\r”表示CR,“\n”表示LF。因此,请确保在PyCharm设置中选择“Unix和MacOS(\n)”)谢谢!!!这正是我要找的!