2024-09-26 17:55:47 发布
网友
我开发了一个python CGI应用程序,它在我的开发框中运行得很好。然而,我的托管提供商几乎不能控制它的服务器:我在python环境中使用了很多定制的东西(比如sqlalchemy和makotemplating),而且服务器python版本太旧了,无法使用。我的问题是:如何在我的主目录中设置一个独立的、完整的、独立的python环境,并安装运行应用程序所需的模块。。。最简单的方法;)
how do I set up a isolated, complete, standalone python environment in my home directory
mkdir /home/me/.local
.local
mkdir /home/me/.local/src
cd /home/me/.local/src
wget http://python.org/ftp/python/2.6.4/Python-2.6.4.tgz
gzip -d Python-2.6.4.tgz
tar xf Python-2.6.4.tar
cd Python-2.6.4
./configure --prefix=/home/me/.local
make
make install
希望您现在可以运行Python:
/home/me/.local/bin/python
使用通常的方法安装所需的软件包设置.py脚本,但是对于您的Python版本:
/home/me/.local/bin/python setup.py install
在CGI文件上设置hashbang以使用您的Python版本:
#!/home/me/.local/bin/python
如果可以,考虑将应用程序迁移到WSGI。当然,现在您仍然可以使用wsgiref.handlers.CGIHandler通过CGI部署WSGI应用程序,但是在将来,当您拥有一个不那么糟糕的托管环境时,您将能够使用一个更少浪费的服务器接口来部署,比如mod_wsgi。在
mod_wsgi
在您的位置上,我将使用pyinstaller将Python、我的代码和所有依赖项捆绑到一个安装程序可执行文件中,并将其上载并运行。只需确保使用pyinstaller的SVN主干——“发布”版本已经过时了。在
请注意,使用SQLAlchemy和其他一切,使用CGI,您可能会发现自己的速度非常慢,因为每次访问页面时,您都要支付全部启动费用。但如果CGI是你能负担得起的,我想这就是我会努力应付的方式!-)在
这看起来像是virtualenv的工作。从网站:
Also, what if you can't install packages into the global site-packages directory? For instance, on a shared host.
这看起来正合你的胃口。在
mkdir /home/me/.local
(如果它还不存在。您不必使用.local
,但它正成为放置此文件的正常位置)mkdir /home/me/.local/src
(同上)cd /home/me/.local/src
wget http://python.org/ftp/python/2.6.4/Python-2.6.4.tgz
gzip -d Python-2.6.4.tgz
tar xf Python-2.6.4.tar
cd Python-2.6.4
./configure --prefix=/home/me/.local
make
make install
希望您现在可以运行Python:
/home/me/.local/bin/python
使用通常的方法安装所需的软件包设置.py脚本,但是对于您的Python版本:
/home/me/.local/bin/python setup.py install
在CGI文件上设置hashbang以使用您的Python版本:
#!/home/me/.local/bin/python
如果可以,考虑将应用程序迁移到WSGI。当然,现在您仍然可以使用wsgiref.handlers.CGIHandler通过CGI部署WSGI应用程序,但是在将来,当您拥有一个不那么糟糕的托管环境时,您将能够使用一个更少浪费的服务器接口来部署,比如
mod_wsgi
。在在您的位置上,我将使用pyinstaller将Python、我的代码和所有依赖项捆绑到一个安装程序可执行文件中,并将其上载并运行。只需确保使用pyinstaller的SVN主干——“发布”版本已经过时了。在
请注意,使用SQLAlchemy和其他一切,使用CGI,您可能会发现自己的速度非常慢,因为每次访问页面时,您都要支付全部启动费用。但如果CGI是你能负担得起的,我想这就是我会努力应付的方式!-)在
这看起来像是virtualenv的工作。从网站:
这看起来正合你的胃口。在
相关问题 更多 >
编程相关推荐