2014-09-20 25 views
2

我从Django的1.5.8更新为1.7:更新到Django的1.7与PIP

pip install Django==1.7 
Downloading/unpacking Django==1.7 
    Downloading Django-1.7-py2.py3-none-any.whl (7.4MB): 7.4MB downloaded 
Installing collected packages: Django 
    Found existing installation: Django 1.5.8 
    Uninstalling Django: 
     Successfully uninstalled Django 
    Rolling back uninstall of Django 
Cleaning up... 
Exception: 
Traceback (most recent call last): 
    File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main 
    status = self.run(options, args) 
    File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 283, in run 
    requirement_set.install(install_options, global_options, root=options.root_path) 
    File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1435, in install 
    requirement.install(install_options, global_options, *args, **kwargs) 
    File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 671, in install 
    self.move_wheel_files(self.source_dir, root=root) 
    File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 901, in move_wheel_files 
    pycompile=self.pycompile, 
    File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py", line 247, in move_wheel_files 
    clobber(source, dest, False, fixer=fixer, filter=filter) 
    File "/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip/wheel.py", line 209, in clobber 
    shutil.copy2(srcfile, destfile) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 130, in copy2 
    copyfile(src, dst) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 83, in copyfile 
    with open(dst, 'wb') as fdst: 
IOError: [Errno 13] Permission denied: '/usr/local/bin/django-admin.py' 

Storing debug log for failure in /Users/stefanieness/Library/Logs/pip.log 

这是我的错误消息。

但是当我运行

python 
import django 
print(django.get_version()) 

我得到1.7。我可以使用这样的版本还是必须重新安装?它会起作用吗?

谢谢!

+0

权限错误意味着你没有权限。请尝试一次“pip安装”Django == 1.7“'作为'root'用户。 – Nilesh 2014-09-20 14:31:35

+0

考虑使用virtualenv,并在那里安装django 1.7。这样你就不会遇到许可等问题。 – karthikr 2014-09-20 14:37:38

+0

我使用virtualenv进行干净安装1.7时出现同样的问题。 virtualenv的一部分是我不需要root。不幸的是,似乎客户端项目的安装脚本首先是为我安装的Django。我希望在用sudo运行它之前,我会仔细检查它们的脚本。 :-( – 2014-12-03 04:14:29

回答

4

这是因为您第一次安装django时,您做过sudo pip install django,它已经在您的全局Python解释器中以root用户(或超级用户)的身份安装了django。

您的全局Python解释器中只能有一个版本的django,因此一旦您升级它,任何正在使用全局Python解释器的django应用程序(换句话说,不使用虚拟环境)将自动升级到1.7

如果您没有任何其他django项目,那么这并没有任何负面影响 - 但作为最佳实践,您应该使用virtual environments,以便您可以轻松地测试库的版本。

为了解决立即解决问题,你需要sudo pip install -U django将升级到Django的最新的稳定版本。