问题: 在 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。
