繁体   English   中英

路径找不到Python或软件包

[英]Path can't find Python or packages

我是Windows的新手,正在使用命令行。 我对路径的工作方式有疑问。

我在Windows 10上使用Anaconda安装了Python 3,并且使用的虚拟环境似乎无法识别python。

 $ python --version bash: python: command not found 

在命令行中,安装了Python,但是许多包(例如Flask和Pandas)也无法识别。 我使用了pip install,可以正常工作

 $ pip install flask Requirement already satisfied: flask in c:\\users\\dta\\anaconda3\\lib\\site-packages (1.0.2) Requirement already satisfied: click>=5.1 in c:\\users\\dta\\anaconda3\\lib\\site-packages (from flask) (6.7) Requirement already satisfied: itsdangerous>=0.24 in c:\\users\\dta\\anaconda3\\lib\\site-packages (from flask) (0.24) Requirement already satisfied: Werkzeug>=0.14 in c:\\users\\dta\\anaconda3\\lib\\site-packages (from flask) (0.14.1) Requirement already satisfied: Jinja2>=2.10 in c:\\users\\dta\\anaconda3\\lib\\site-packages (from flask) (2.10) Requirement already satisfied: MarkupSafe>=0.23 in c:\\users\\dta\\anaconda3\\lib\\site-packages (from Jinja2>=2.10->flask) (1.0) twisted 18.7.0 requires PyHamcrest>=1.9.0, which is not installed. You are using pip version 10.0.1, however version 18.1 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command. 

但是然后使用这些软件包中的任何一个运行程序都无法正常工作,结果是这样的:

 Traceback (most recent call last): File "app.py", line 1, in <module> import flask ModuleNotFoundError: No module named 'flask' 

似乎已设置路径,但是命令行正确识别它存在一些问题。 我先卸载了Python,然后重新安装了Python,并确保在安装过程中选中“将Python添加到PATH”框,但没有任何反应。 有想法该怎么解决这个吗?

您很可能在Path上没有Anaconda。 尝试:

echo %PATH%

如果Anaconda不在那里,请执行

setx PATH “%PATH%;c:\users\dta\anaconda3\scripts;c:\users\dta\anaconda3”

这会将anaconda设置为Path。 关闭并重新启动CMD

如果您有其他环境,请尝试

conda env list

要激活环境:

conda activate environmentName

请记住在点子上使用conda install ...,因为它会处理兼容性问题的升级和降级。

如果Anaconda存在,那么您还必须在Anaconda之前安装另一个Python。 除非您重新安排Anaconda在其之前排在第一位,否则它将在Anaconda上进行选择。

如果您不希望这样做,则可以简单地创建一个环境:

conda create -n awesome python=3.7

然后激活它并在其中安装软件包:

conda activate awesome
conda install flask
python -V # Python 3.7

要查看Python在哪里寻找软件包:

python -c "import sys;print(sys.path)"

查看它在哪里寻找软件包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM