操作系统:OS X 10.7.5 我在Apps文件夹下安装了 pyhton 3.3.2 ,我将IDLE用于python脚本。 我使用下面的命令来安装Django。
pip install Django==1.5.2
安装成功后,我看到它安装在〜/ Library / Python / 2.7 / site-packages /
下然而,当我使用IDLE进行测试时
import django
我得到以下错误:
>>> import django
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
import django
ImportError: No module named 'django'
我错过了什么?这是我第一次尝试安装django。
根据建议,我安装了virtualenv并尝试了
sudo virtualenv -p /Library/Frameworks/Python.framework/Versions/3.3/ my_virtualenv
以下跟踪失败:
Running virtualenv with interpreter /Library/Frameworks/Python.framework/Versions/3.3/
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 8, in <module>
load_entry_point('virtualenv==1.10.1', 'console_scripts', 'virtualenv')()
File "/Library/Python/2.7/site-packages/virtualenv.py", line 780, in main
popen = subprocess.Popen([interpreter, file] + sys.argv[1:], env=env)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 672, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1202, in _execute_child
raise child_exception
OSError: [Errno 13] Permission denied
似乎还在尝试在2.7版本下安装。
答案 0 :(得分:5)
python 2.7和3.3.2之间存在冲突。你为python 2.7安装了django,并且当然试图将它与python 3.3.2一起使用。
避免此类问题的最佳方法是使用virtualenv:
$ sudo pip install virtualenv
然后:
$ virtualenv my_virtualenv
OR:
$ virtualenv -p <PATH TO PYTHON VERSION> my_virtualenv
然后:
$ source my_virtualenv/bin/activate
$ pip install Django==1.5.2
这将在你的virtualenv中安装好版本的django。您需要检查python 3版本是否可用pip。
感谢virtualanv,您将能够在另一台机器上保存/冻结并安装您的环境:
$ pip freeze > requirement.txt
$ pip install -r requirement.txt
答案 1 :(得分:0)
以下是解决我的问题的步骤:
从机器上完全删除了Python 3.3。
sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.3
sudo rm -rf "/Applications/Python 3.3"
cd /usr/local/bin;
ls -l . | grep '../Library/Frameworks/Python.framework/Versions/3.3' | awk '{print $9}' | xargs rm
然后使用guide设置环境以在Mac OS X上设置Python和安装Django。