Skip to main content
 首页 » 编程设计

Python 3 升级 : uninstall/reinstall 3. 6-3.7 — 现在我无法安装 Django 2.1:错误消息:[没有名为 Django 的模块]

2024年12月31日25mfryf

问题: 在 macOS 上...

  • 卸载 Python 3.6 — 重新安装 Python 3.7
  • 已卸载 Django 2 — 尝试重新安装 Django 2.1(失败)

我现在最大的问题是我不知道如何安装 Django。

(查看本文末尾的所有我能想到的测试)

注意事项:

在学习了几个月的 Python 语法之后,我想涉足创建一个非常基本的 101 网络应用程序。所以我开始学习 Django。我意识到我真的不知道任何移动部件在哪里或如何工作:pip、python、django、PyCharm、操作系统等……一起工作,甚至不知道它们安装在哪里。我从未听说过……包、包管理器、pip、路径或框架。所以,我决定尝试深入研究并真正了解它是如何工作的。我一直这样做的最好方法是……全部撤消,然后将它们重新组合在一起。


问题和测试:

在终端中:

python -m Django --version 

结果:

/Library/Frameworks/Python.framework/Versions/3.7/bin/python3: No module named Django 

好的...尝试安装Django:

pip install Django==2.1 

结果:

Could not find a version that satisfies the requirement Django==2.1 (from versions: 1.1.3, [LARGE BLOCK OF VERSION NUMBERS, ALL IN RED] 1.11.15) 
No matching distribution found for Django==2.1 

试图弄清楚“路径”的真正含义:

>>> import sys 
>>> for p in sys.path: 
        print(p) 

结果:

/Users/MichaelPerkins/Documents 
/Library/Frameworks/Pthon.framework/Versions/3.7/lib/python37.zip 
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7 
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload 
/Users/MichaelPerkins/Library/Python/3.7/lib/python/site-packages 
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages 

最后...只是为了查看我输入的所有安装内容:

pip list 

结果:

Package                                Version  
-------------------------------------- -------- 
altgraph                               0.10.2   
bdist-mpkg                             0.5.0    
bonjour-py                             0.3      
macholib                               1.5.1    
matplotlib                             1.3.1    
modulegraph                            0.10.4   
numpy                                  1.8.0rc1 
pip                                    18.0     
py2app                                 0.7.3    
pyobjc-core                            2.5.1    
pyobjc-framework-Accounts              2.5.1    
pyobjc-framework-AddressBook           2.5.1    
pyobjc-framework-AppleScriptKit        2.5.1    
pyobjc-framework-AppleScriptObjC       2.5.1    
pyobjc-framework-Automator             2.5.1    
pyobjc-framework-CFNetwork             2.5.1    
pyobjc-framework-Cocoa                 2.5.1    
pyobjc-framework-Collaboration         2.5.1    
pyobjc-framework-CoreData              2.5.1    
pyobjc-framework-CoreLocation          2.5.1    
pyobjc-framework-CoreText              2.5.1    
pyobjc-framework-DictionaryServices    2.5.1    
pyobjc-framework-EventKit              2.5.1    
pyobjc-framework-ExceptionHandling     2.5.1    
pyobjc-framework-FSEvents              2.5.1    
pyobjc-framework-InputMethodKit        2.5.1    
pyobjc-framework-InstallerPlugins      2.5.1    
pyobjc-framework-InstantMessage        2.5.1    
pyobjc-framework-LatentSemanticMapping 2.5.1    
pyobjc-framework-LaunchServices        2.5.1    
pyobjc-framework-Message               2.5.1    
pyobjc-framework-OpenDirectory         2.5.1    
pyobjc-framework-PreferencePanes       2.5.1    
pyobjc-framework-PubSub                2.5.1    
pyobjc-framework-QTKit                 2.5.1    
pyobjc-framework-Quartz                2.5.1    
pyobjc-framework-ScreenSaver           2.5.1    
pyobjc-framework-ScriptingBridge       2.5.1    
pyobjc-framework-SearchKit             2.5.1    
pyobjc-framework-ServiceManagement     2.5.1    
pyobjc-framework-Social                2.5.1    
pyobjc-framework-SyncServices          2.5.1    
pyobjc-framework-SystemConfiguration   2.5.1    
pyobjc-framework-WebKit                2.5.1    
pyOpenSSL                              0.13.1   
pyparsing                              2.0.1    
python-dateutil                        1.5      
pytz                                   2013.7   
scipy                                  0.13.0b1 
setuptools                             18.5     
six                                    1.4.1    
xattr                                  0.6.4    
zope.interface                         4.1.1   

在 PyCharm 中:

当我打开一个我在这些卸载/重新安装之前创建的项目,并尝试运行一个新的或现有的 .py 文件时,我得到...

"/Users/MichaelPerkins/Library/Mobile Documents/com~apple~CloudDocs/Python Projects/BlackJack/venv/bin/python" "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydevconsole.py" 59523 59524 
dyld: Library not loaded: /Library/Frameworks/Python.framework/Versions/3.6/Python 
  Referenced from: /Users/MichaelPerkins/Library/Mobile Documents/com~apple~CloudDocs/Python Projects/BlackJack/venv/bin/python 
  Reason: image not found 
Process finished with exit code 134 (interrupted by signal 6: SIGABRT) 

但是,当我创建一个新项目时,它会选择新版本的 Python 3.7。

import(sys) 
print(sys.version) 

结果:

/Users/MichaelPerkins/Projects/Test_1/venv/bin/python /Users/MichaelPerkins/Projects/Test_1/version.py 
3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24)  
[Clang 6.0 (clang-600.0.57)] 
 
Process finished with exit code 0 

请您参考如下方法:

如果 python 命令在您的系统中启动 Python 3.7,您可以使用全局安装 Django

python -m pip install django 
# or 
pip3 install django 

当您创建第二个项目时,PyCharm 为您做了一件很酷的事情。它创造了virtual environment - 一种新的解释器,它是独立的,只能用于您的项目(它保存在 /Users/MichaelPerkins/Projects/Test_1/venv/bin/python 中)。当您在 PyCharm 中打开终端时,您应该会在提示符前看到 (venv)。这意味着您已在该项目中激活了 virtualenv,您只需使用 pip install django 即可安装 Django。请记住,当您使用 virtualenv 时,每次启动新项目时都必须安装 django。

您的旧项目正在尝试使用旧的 3.6 解释器,我猜它已经不存在了。要解决此问题,您必须在文件 -> 设置 -> 项目中提供有效 Python 解释器的路径: -> 项目解释器

在那里,您可以按右上角的齿轮,您可以指向 Python 3.7 安装路径或为此项目创建新的 virtualenv。