Python 脚本生成 500 内部服务器错误,但不同文件中的代码工作正常

Python Script generates 500 Internal Server Error but code in different file works fine

我有一个 Python 脚本,代码如下:

#! /home/flohosting/PythonTest/PythonTest/bin/python

print()
print("hello world!")

我在 GoDaddy VPS 上 运行ning Python 3.6。 Python 3.6是虚拟环境。这个脚本工作得很好。当我在 Virtual Studio Code 中打开一个新文档,从工作的 .py 脚本中复制上面的代码,然后将其粘贴到新的 .py 脚本中,上传脚本,CHMOD 到 755,并尝试执行时,问题就出现了。然后我收到 500 Internal Server Error。这对我来说毫无意义。

我已经使用 PuTTY 登录到我的 SSH 并尝试 CHMOD a+x file_name.py 其中 "file_name" 是确切的文件名,但它仍然不起作用。我什至想不出任何其他方法来检查为什么脚本在服务器上已经存在 2 个月以上的文件中工作,而不是在我上传的新脚本中,并将 CHMOD 设置为 755。感谢您的任何建议。

编辑:脚本工作的 link 是 http://www.dockethound.com/bernard.py

非工作脚本的 link 是 http://www.dockethound.com/hello.py

编辑 2:我想出了一些办法并且它正在工作,虽然我不知道为什么。

使用 CuteFTP 9 时,我在 "AUTO" 上上传。我决定 select ASCII 然后再尝试上传。当我上传时,我收到一条错误消息 "This appears to be a binary file you want to upload with ASCII. Are you sure?" 因此,由于某种原因,文件以二进制格式或 CuteFTP 识别为二进制格式的格式保存,并以二进制格式上传,这会导致 Apache 在尝试 运行它。但是,如果以强制ASCII模式上传,问题就解决了。

贾罗德

在我的情况下,使用 CuteFTP 9 中的自动设置允许 CuteFTP 确定带有 .py 的文件类型是二进制文件,因此文件是通过二进制而不是 ASCII 传输的。强制使用 ASCII 解决了问题,然后进入“工具”->“全局选项”->“ASCII 类型”并将 PY 添加到列表中解决了问题。