python - 使用 pip 更新到 Django 1.7

标签 python django django-1.5 django-1.7

我从 Django 1.5.8 更新到 1.7:

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。我可以使用这样的版本还是必须重新安装它?它会起作用吗?

谢谢!

最佳答案

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

你的全局Python解释器中只能有一个版本的django,所以一旦你升级它,任何使用全局Python解释器(换句话说,不使用虚拟环境)的django应用程序都将自动升级至 1.7

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

要解决您眼前的问题,您需要 sudo pip install -U django 这会将 django 升级到最新的稳定版本。

关于python - 使用 pip 更新到 Django 1.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25949775/

相关文章:

django - 如何在 django 翻译中翻译数字?

python - OAuth2 TokenScope 与 Django Permissions 类似吗?

django - 设置 DEBUG = False 导致 500 错误

python - 如何让 Django 1.5 login_required 装饰器返回 403 状态码

python - 迭代两个列表,执行函数并返回值

python - 艰难地学习 Python ex41 额外学分

python - "def __iter__(self): return iter(self.file)"是做什么用的?

django 1.5 管理员内联额外

python - main()变量未定义

python - 如何使Docker容器永远运行