我按照djangogirls教程开始使用django并让一切正常。一旦我完成了基本教程,一切正常,我决定再次完成这些步骤以创建新的东西,并且更熟悉使用git,django,venv等。
fyi - 我在Windows 10上安装了python 2.7和python 3.5。我使用的是django 1.10.4的python 3.5.2。
步骤进行:
>mkdir v2
>cd v2
>"d:/python 3.5.2/python" -m venv myenv
>cd myenv/scripts/activate
(myenv) python -m pip install -U pip
出于某种原因,这是我这次能够升级pip的唯一方法
(myenv) d:/v2/myenv/scripts> pip install django~=1.10.0
(myenv) d:/v2/myenv/scripts> django-admin.py startproject mysite
这就是魔法不会发生的地方:
d:\v2>django-admin.py startproject mysite2
Traceback (most recent call last):
File "D:\v3\myenv\Scripts\django-admin.py", line 2, in <module>
from django.core import management
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 10, in <module>
from django.apps import apps
File "C:\Python27\lib\site-packages\django\apps\__init__.py", line 1, in <module>
from .config import AppConfig
File "C:\Python27\lib\site-packages\django\apps\config.py", line 4, in <module>
from django.core.exceptions import AppRegistryNotReady, ImproperlyConfigured
File "C:\Python27\lib\site-packages\django\core\exceptions.py", line 5, in <module>
from django.utils.encoding import force_text
File "C:\Python27\lib\site-packages\django\utils\encoding.py", line 11, in <module>
from django.utils.six.moves.urllib.parse import quote, unquote
File "C:\Python27\lib\site-packages\django\utils\six.py", line 92, in __get__
result = self._resolve()
File "C:\Python27\lib\site-packages\django\utils\six.py", line 160, in _resolve
module = _import_module(self.mod)
File "C:\Python27\lib\site-packages\django\utils\six.py", line 82, in _import_module
__import__(name)
File "C:\Python27\lib\urllib.py", line 26, in <module>
import socket
File "C:\Python27\lib\socket.py", line 47, in <module>
import _socket
ImportError: Module use of python35.dll conflicts with this version of Python.
据我所知,我采取了同样的步骤。我不确定为什么在我的venv中安装的djano会引用python 2.7,因为我认为如果从python 3.5.2目录创建我的venv它会引用该版本,以及我在该目录中使用的任何pip吗?
有人可以帮我找到我在这里失踪的东西吗? TY。
答案 0 :(得分:0)
默认情况下,virtualenv使用python2。如果你想使用python3,你必须明确指定它。
运行以下命令以使用python3设置virtualenv:
virtualenv -p python3 envname
答案 1 :(得分:0)
在&#34; Python 3.5.2 / scripts&#34;我跑了:
virtualenv d:/<dirname>
(django-admin.py startproject projectname)之后的所有内容都正常工作。仍然不确定这里出了什么问题,但也许这有助于其他人...