在EC2实例上使用虚拟环境从浏览器运行Python脚本 太长,读不下去了
我在我的EC2实例上创建了一个虚拟环境。如何从浏览器访问此文件在EC2实例上使用虚拟环境从浏览器运行Python脚本 太长,读不下去了,python,linux,bash,amazon-ec2,amazon-linux,Python,Linux,Bash,Amazon Ec2,Amazon Linux,我在我的EC2实例上创建了一个虚拟环境。如何从浏览器访问此文件 大家好, 我在EC2实例上创建了一个虚拟环境来运行一个简单的Python脚本。在终端内,它可以正常工作。但是,我已经制作了一个web应用程序,我希望使用虚拟环境从浏览器激活此脚本。当我尝试此操作时,会出现“权限被拒绝”错误 PHP test.py 错误 我还尝试为所有用户提供执行激活脚本的可能性(/home/ec2 user/venv/python3/bin/activate): chmod 665/home/ec2用户/ven
大家好, 我在EC2实例上创建了一个虚拟环境来运行一个简单的Python脚本。在终端内,它可以正常工作。但是,我已经制作了一个web应用程序,我希望使用虚拟环境从浏览器激活此脚本。当我尝试此操作时,会出现“权限被拒绝”错误 PHP test.py 错误
- 我还尝试为所有用户提供执行激活脚本的可能性(/home/ec2 user/venv/python3/bin/activate): chmod 665/home/ec2用户/venv/python3/bin/activate
/home/ec2-user/venv/python3/bin/activate: Permission denied
但是,我仍然得到相同的错误:
source /home/ec2-user/venv/python3/bin/activate
pip install beautifulsoup4
pip install requests
注:
- 请注意,如果我只导入datetime并注释掉bs4和请求(以及有关BeautifulSoup的所有其他内容),那么脚本工作得很好,因为它不必访问虚拟环境才能拉入包
*出现此错误是因为您没有将python脚本中使用的库添加到虚拟环境中 在您提到的教程中,仅安装了boto库 您需要安装您使用的库。 从命令行运行此命令:
beautifulsoup4
requests
或者,您可以创建一个文件,并将其命名为例如/home/ec2 user/requirements.txt,然后列出脚本使用的所有需求:
source /home/ec2-user/venv/python3/bin/activate
pip install -r /home/ec2-user/requirements.txt
然后,您可以使用此文件将所有需求安装到虚拟环境中:
/home/ec2-user/venv/python3/bin/activate
解决了的!
我得到了一些帮助,但是,需要修改一些东西
让我们深入了解一下他的答案:
sudo chown-R您的用户名:您的用户名路径/到/virtualenv/
好的,这很好,但我需要一些信息
对我来说,web应用程序的用户名是webapp
那么,上面有一件事情不是很清楚,那就是路径。因此,我的路径是:
sudo chown -R webapp:webapp /home/ec2-user
如上所述。在这里,您需要将权限更改为/home/ec2用户
和非权限更改为/home/ec2用户/venv
因此,要向我的虚拟环境授予应用程序权限,我需要运行:
sudo chown -R ec2-user:ec2-user /home/ec2-user
这在浏览器中起作用了!然而,这剥夺了我在服务器上使用它的能力。为此,我必须将其切换回:
sudo chmod 711 /home/ec2-user
由于来回切换并不理想,我尝试使用chmod
来更改权限
现在我拥有读、写和执行权限,而其他人,包括web应用程序,只能执行
现在,它可以很好地与requirements.txt配合使用。我试试看。实际上我已经安装了beautifulsoup4和请求。(这就是为什么它可以在终端中工作。)一个问题是,你为什么要写“源代码”?这是打字错误吗?出于好奇,我尝试了“source-source”,但出现了错误“source:没有这样的文件或目录”。我现在遇到了错误:“警告:目录'/home/webapp/.cache/pip'或其父目录不归当前用户所有或不可写。缓存已被禁用。检查该目录的权限和所有者。如果使用sudo执行pip,您可能需要sudo的-H标志。错误:无法打开需求文件:[Errno 13]权限被拒绝:'/home/ec2 user/requirements.txt''
beautifulsoup4
requests
source /home/ec2-user/venv/python3/bin/activate
pip install -r /home/ec2-user/requirements.txt
/home/ec2-user/venv/python3/bin/activate
sudo chown -R webapp:webapp /home/ec2-user
sudo chown -R ec2-user:ec2-user /home/ec2-user
sudo chmod 711 /home/ec2-user