python解释器path变量_Python解释器PATH奇数。不能使用Django

用户面临Python环境混乱的问题,具体表现为在CMD中运行Django时,使用了C盘的基本Python27解释器而非Anaconda环境。尽管设置了PATH和PYTHONPATH变量,Django仍然使用错误的解释器。解决方案包括修改系统路径以优先考虑Anaconda环境或通过批处理文件临时调整路径。
摘要由CSDN通过智能技术生成

我在两个不同的解释器中有三个Python环境。首先是我的c:中的基本Python27。第二个是Anaconda解释器,具有其自己的环境和\ envs \目录中的另一个环境。我已将我的PYTHONPATH变量指向不位于\ envs \文件夹中的Anaconda解释器。1dd2bb7d42cb6c1cc629f1273c65bff3.png

我也将PATH变量从该环境设置为脚本目录9d15830f2ef1baefd6d0a780f6783d2c.png

但是,当我运行Django时,会收到有关版本差异的消息。我认为这是由于Django在我的C:\目录Python27中使用了解释器。当我在cmd中回显我的PATH环境变量时,这是我看到的:

C:\Program Files (x86)\ActiveState Komodo Edit 10\;C:\Program Files (x86)\ActiveState Komodo IDE 10\;

C:\Program Files\MATLAB\R2014a\bin\win64;

C:\ProgramData\Oracle\Java\javapath;

c:\Program Files (x86)\Intel\iCLS Client\;

c:\Program Files\Intel\iCLS Client\;

C:\Windows\system32;C:\Windows;

C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;

C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;

C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;

C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;

C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;

C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;

**C:\Python27**;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\WINDOWS\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files (x86)\Skype\Phone\;

C:\Program Files\MATLAB\R2016a\runtime\win64;

C:\Program Files\MATLAB\R2016a\bin;

C:\WINDOWS\system32;

C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;

C:\Users\jackf_000\sw\FFMPEG\bin;

C:**\Users\jackf_000\sw\Anaconda2\Scripts\**;

C:\ cygwin64 \ bin; C:\ Users \ jackf_000 \ AppData \ Local \ Microsoft \ WindowsApps;

当我在cmd中运行python并导入os以查看可执行文件时,我得到以下输出:

C:\Users\jackf_000>python

Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import sys

>>> sys.executable

'C:\\Python27\\python.exe'

如果我没有在控制面板窗口的PATH中的任何位置指定Python解释器,为什么在Anaconda之前的PATH变量中使用C:\中的Python解释器?以及如何指定我希望Django在Anaconda环境中查找所需的内容,或使用pip将Django安装到C:\ Python27?目前,pip将所有软件包安装到Anaconda环境。

解决方案

因为python 2.7路径是在系统环境变量PATH中设置的。您正在编辑用户变量(配置异常,因为它们包含仅在系统路径中找到的重复内容C:\windows\system32,例如)

如果键入,where python您可能会得到:

C:\Python27\python.exe

(编辑:由于您回答了我的评论,因此您实际上获得了该值)

如果键入,where pip您可能会得到:

C:\users\jackf_000\sw\anaconda2\scripts\pip.exe

这说明pip在anaconda2软件包中安装了软件包

为了使anaconda python进入您的路径,您需要不添加C:\users\jackf_000\sw\anaconda2包含pip的脚本子目录。

然后,如果您键入,where python您可能会得到:

C:\Python27\python.exe

C:\users\jackf_000\sw\anaconda2\python.exe

但这还不够,因为..

系统路径优先。PATH是一个特殊的env变量,您不会在用户个人资料中覆盖它,仅将dirs附加到该变量。拥有一个用户PATH变量和一个系统PATH变量是完全正常的。

另一方面,假设系统变量PYTHONPATH不令人满意,您可以选择通过在用户变量中设置一个完全不同的变量来替换它。这将替换路径,而不是附加到路径,除非您在;%PYTHONPATH%某处添加(PYTHONPATH是路径变量,但Windows并不知道,这没什么特别的)。而且PYTHONPATH不会影响将要加载的可执行文件,因此暂时将其忘记。

2个解决方案:

修改系统路径(需要管理员)以在2.7之前添加anaconda(不推荐)

运行需要anaconda并带有.bat文件的应用程序,该文件应从以下开始:

set PATH=C:\users\jackf_000\sw\anaconda2;%PATH%

rem now run the command which needs anaconda python first

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值