求助,ubuntu 下 pip 安装 virtualenv 报错
发布网友
发布时间:2022-04-29 23:21
我来回答
共1个回答
热心网友
时间:2022-04-11 04:56
安装出错先找有没有 Permission denied:字样,有就肯定是没加sudo。
一、安装apache及apache-python模块:
sudo apt-get install apache2
sudo apt-get install libapache2-mod-python2.7
二、apache python配置
vim /etc/apache2/conf.d/charset,取消AddDefaultCharset UTF-8的注释
vim /etc/apache2/mods-available/python.conf,添加:
<Directory /var/www/py>
AddHandler mod_python .py
AddType text/html .py
PythonHandler pytest
PythonDebug On
</Directory>
sudo ln -s /etc/apache2/mods-available/python.conf /etc/apache2/mods-enabled/python.conf
sudo vim /etc/apache2/sites-available/python,内容如下:
<VirtualHost *:80>
DocumentRoot /var/www/py
ServerName py
<Directory /var/www/py>
AddHandler mod_python .py
PythonHandler pytest
PythonDebug On
</Directory>
</VirtualHost>
ln -s /etc/apache2/sites-available/python /etc/apache2/sites-enabled/python
mkdir -p /var/www/py
chown -R www-data:www-data /var/www/py //用户apache运行的用户,默认是www-data
chmod -R 775 /var/www/py
sudo adser dave www-data
sudo service apache2 restart
访问:http://127.0.0.1
三、测试是否成功:
sudo vim /var/www/py/pytest.py,注意要与<Directory>里的PythonHandler pytest名称相同:
#!/usr/bin/python
# -*- coding:utf-8 -*-
from mod_python import apache
def handler(req):
req.content_type = 'text/html' //请求对象的类型
req.write('<h1>hello!</h1>') //req是请求对象,它有一个专有方法:write
return apache.OK
chown -R www-data:www-data pytest.py
chmod 775 pytest.py
sudo service apache2 restart
访问:http://127.0.0.1/py/pytest.py
四、virtualenv安装与配置
sudo apt-get install -y python-dev python-setuptools
sudo easy_install virtualenv virtualenvwrapper pip
sudo mkdir /home/dave/study/webapps //所有virtualenv环境的工作总目录
sudo chown -R www-data:www-data /home/dave/study/webapps
sudo chmod -R g+rw /home/dave/study/webapps
添加如下行到~/.bashrc:
export VIRTUALENV_USE_DISTRIBUTE=1
export WORKON_HOME=/home/dave/study/webapps
source /usr/local/bin/virtualenvwrapper.sh
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true
export PYTHONPATH=/usr/local/lib/python2.7:$PYTHONPATH
然后source ~/.bashrc,如果报错,查看目录属主和权限
创建虚拟环境,并安装相关软件:
cd ~/study/webapps
mkvirtualenv firstenv
pip install "django==1.4.5",
pip install MySQL-python
//在虚拟环境中安装相关软件,注意,安装mysql-python之前,首先要sudo apt-get install python-dev libmysqlclient-dev,否则会安装失败
查看django是否安装成功:
python,进入idle
>>import django
>>print django.VERSION
1.4.5
virtualenvwrapper常规用法,参考:http://www.cnblogs.com/Phenix_Yang/archive/2012/05/08/2489724.html:
cd webapps
mkvirtualenv NAME //创建虚拟环境
rmvirtualenv NAME //删除虚拟环境
lsvirtualenv //列出所有虚拟环境
workon NAME //进入指定虚拟环境,如果不指定NAME,则列出所有的虚拟环境
deactivate //退出当前虚拟环境
pip常规用法:
pip安装软件时,都是到pypi网站中去找,而pypi只搜集软件包的链接,问题在于链接可能失效,所以pip也是有坑的。
pip freeze //列出所有已经安装的软件包
pip search django //查找名字中带django的软件包
pip install django //安装django,默认安装最新版
pip install "django==1.4.5" //安装软件包时指定版本,还可以使用<、<=、>、>=来指定版本范围,如pip install "django>1.4 <1.5"
pip install -U django //升级django
pip uninstall django //卸载django