我跟着djangogirls教程開始使用django並且一切正常。一旦我完成了基本的教程,所有的工作順序,我決定再次通過這些步驟,使一些新的東西,使用git,django,venv等更熟悉。爲什麼venv參考不同的python版本
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。
這似乎並沒有工作。我真的不確定在第一次做這件事情和第二次做事時發生了什麼。奇怪的。 – verase