赞
踩
今天使用anaconda时碰到了一个问题
缺少torchtext这个包
然后直接pip install torchtext,安装完成,再次运行还是没有torchtext,重新安装,显示已经装在原有的python里(我电脑上原本安装了一个python3.6,随后又安装了anaconda)
我使用的是anaconda prompt的base环境python3.7,直接输入python,发现也是进入原有的python3.6
百度得知anaconda3的环境变量提到最高层次就可以进入anaconda3的python中。
修改后可进入anaconda3的python3.7,但是pip install还是安装在原有python3.6内
在网上找了半天资源也没找到怎么更换默认使用的pip(总是找到将pip换成国内镜像源)
最后只能把原有的python重命名为python3.6,anaconda中重命名为python3.7,之后所有的pip都要python3.7 -m pip install XXXX,也算是个权宜之计吧
改了之后发现很多其他问题,jupyter notebook都打不开了....应该是很多关联文件是关联python.exe,改成python3.7后就不行了
随后又改回原名,心血来潮试了一下python -m pip install XXX 居然就安装在anaconda中了,联想到之前说把anaconda3中的python环境变量设到最高层次,说明python -m时调用的还是环境变量中最高层次的python。于是上网搜索了一下python -m的作用。
引用如下
[python]自问自答:python -m参数?www.cnblogs.com简而言之,举个例子
- #run.py
- import sys
- print(sys.path)
python
python
区别在于第一个输出的不同
有什么影响呢?
- # 目录结构如下
- package/
- __init__.py
- mod1.py
- package2/
- __init__.py
- run.py
- # run.py 内容如下
- import sys
- from package import mod1
- print(sys.path)
- # 直接启动(失败)
- ➜ test_import_project git:(master) ✗ python package2/run.py
- Traceback (most recent call last):
- File "package2/run.py", line 2, in <module>
- from package import mod1
- ImportError: No module named package
- # 以模块方式启动(成功)
- ➜ test_import_project git:(master) ✗ python -m package2.run
- ['',
- '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
- ...]
联想到之前在服务器上跑代码的时候也报过好几次类似的错误,当时百思不解,只好反复修改import路径,现在明白个大概了。
综上,以后要在anaconda base中安装,就要python -m pip install了(话说我是不是应该把原有的python3.6卸载了更方便2333
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。