【发布时间】:2018-11-07 19:05:26
【问题描述】:
为什么它不起作用? Django.tar.gz 直接来自 PyPi 如果我尝试“python -m pip install”它可以工作,但会全局安装 python。
(newenv) [root]# pip install paczki/Django-2.0.7.tar.gz
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Processing ./paczki/Django-2.0.7.tar.gz
Requirement already satisfied: pytz in ./newenv/lib/python3.6/site-packages (from Django==2.0.7)
Installing collected packages: Django
Running setup.py install for Django ... done
Successfully installed Django-2.0.7
(newenv) [root]# python3
Python 3.6.0 (default, May 22 2018, 12:59:04)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'django'
>>>
【问题讨论】:
-
你确定
python3这里指的是 virtualenv 使用的相同 Python 版本吗?您可能没有创建一个名为python3的别名,对吧? -
我想是的。运行“python”然后“import django”给出相同的结果。它不应该引用 venv 中的 pyton 吗?
-
好的,你正在引导我找到一个好的解决方案。实际用python3.6运行pip,然后运行python3.6效果不错。怎么了?我继承了这个虚拟机来在这里移植我的 django 应用程序,所以我不知道最后一个所有者对这里的 python 安装做了什么。
-
(在 venv 目录中)
which python、which python3和which python3.6可能会提供有用的结果 -
好吧,其实python3和pythonlead做newenv/bin/python3,python3.6导致全局usr/local/bin。因此,django 仅在使用全局 python (python3.6) 安装时才能工作,而在使用 venv python 时无法工作。
标签: python pip python-venv