我做了一些实验,从python 2.6.5升级到python 2.7.11,以便让Django正常工作。然后我不得不卸载python 2.7.11并回到python 2.6.5(与其他项目的兼容性问题)。现在,当我尝试使用pip install django==1.2.1
安装django 1.2.1时,我收到此错误:
C:\workspace\internal\trunk\ut_pr_01\src>pip install django==1.2.1
Downloading/unpacking django==1.2.1 Running setup.py egg_info for
package django
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "c:\users\maxim\appdata\local\temp\pip-build\django\setup.py", line
32, in <module>
version = __import__('django').get_version()
File "c:\users\maxim\appdata\local\temp\pip-build\django\django\__init__.py",
line 3, in <module>
from django.utils.version import get_version
File "c:\users\maxim\appdata\local\temp\pip-build\django\django\utils\version.py",
line 7, in <module>
from django.utils.lru_cache import lru_cache
File "c:\users\maxim\appdata\local\temp\pip-build\django\django\utils\lru_cache.py",
line 28
fasttypes = {int, str, frozenset, type(None)},
^
SyntaxError: invalid syntax
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "c:\users\maxim\appdata\local\temp\pip-build\django\setup.py",
line 32, in <module>
version = __import__('django').get_version()
File
"c:\users\maxim\appdata\local\temp\pip-build\django\django\__init__.py",
line 3, in <module>
from django.utils.version import get_version
File
"c:\users\maxim\appdata\local\temp\pip-build\django\django\utils\version.py",
line 7, in <module>
from django.utils.lru_cache import lru_cache
File
"c:\users\maxim\appdata\local\temp\pip-build\django\django\utils\lru_cache.py",
line 28
fasttypes = {int, str, frozenset, type(None)},
^
SyntaxError: invalid syntax
---------------------------------------- Command python setup.py egg_info failed with error code 1 in
c:\users\maxim\appdata\local\temp\pip-build\django Storing complete
log in C:\Users\Maxim\pip\pip.log
似乎python的版本是导致问题的原因,但之前我安装了任何具有相同pip和相同python版本的django。
目前我的环境: 点1.2.1, python 2.6.5, windows 10 64bit,需要django版本:1.2.1
有想法的人吗?
答案 0 :(得分:2)
Python 2.6没有设置文字。
# in python 2.6 only this will work
fasttypes = set(int, str, frozenset, type(None))
# in python 2.7+ this will work as well
fasttypes = {int, str, frozenset, type(None)}
您使用的Django版本与python 2.6.5不兼容
在Django 1.7中删除了对Python 2.6的支持,因此当您尝试安装Django 1.2.1时,我不确定为什么会出现此错误。也许更新的版本驻留在temp\pip-build\
目录中。由于它被称为temp
,因此删除该目录应该是安全的。
无论如何,Python 2.6和相应的Django版本都是不安全且不受支持的。我强烈建议使用当前版本。如果其他项目需要旧的弃用Python版本,则应使用虚拟环境隔离它们。
答案 1 :(得分:2)
您可以在Windows上安装多个版本的Python(您似乎正在使用它),没有任何问题。您只需确保为您的情况正确设置默认版本的Python。
不要使用极其过时的django版本,而是安装最新版本的Python - 只需从安装程序中选择不同的路径即可。因此,不是C:\Python27
而是将其设置为C:\Python-27
或其他任何内容。
如果您正在安装Python 3,那么您不必更改路径,因为Python 3会在C:\Program Files
(Windows中程序的默认位置)中自行安装,因此不会与Python 2发生冲突。直接安装到C:\
驱动器上。
一旦安装了Python的更新版本,您只需确保在需要安装django时调用该版本的Python。要有效地执行此操作,请使用Python virtual environment。
让我们假设您已在C:\Python-27
中安装了最新版本的Python 2,以下是如何安装最新版本的django:
首先,您需要安装virtualenv包。打开命令提示符,然后键入以下内容(>
是提示符,不要键入):
> C:\Python-27\Scripts\pip.exe install virtualenv
几分钟后你应该安装virtualenv,下一步是在新的虚拟环境中安装django:
> C:\Python-27\Scripts\virtualenv.exe C:\%USER%\Desktop\django-env
完成后,您需要激活环境,然后安装django:
> C:\%USER%\Desktop\django-env\bin\activate.bat
(django-env) > pip install django
现在,您已在Python的更新版本上安装了最新版本的django。
管理这些环境可能很困难;所以我建议下载一个Python IDE。 PyCharm是我使用的,有一个免费的社区版本。它可以让您轻松管理所有不同版本的Python。
答案 2 :(得分:0)
通过安装我需要的Django版本解决了这个问题 - 1.2.1不使用pip而是下载文件并手动运行:
new CountDownTimer(12000, 2000) {
int counter = 0;
public void onTick(long millisUntilFinished) {
switch (counter) {
case 0:
tv1.setText("");
break;
case 1:
tv2.setText("");
break;
// ...
}
counter++;
}
public void onFinish() {
}
}.start();
。