当前位置:   article > 正文

python 进入E盘_anaconda python环境与原有python环境的坑

anaconda在d盘python放在e盘

今天使用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

简而言之,举个例子

  1. #run.py
  2. import sys
  3. print(sys.path)
python 
python 

区别在于第一个输出的不同

有什么影响呢?

  1. # 目录结构如下
  2. package/
  3. __init__.py
  4. mod1.py
  5. package2/
  6. __init__.py
  7. run.py
  1. # run.py 内容如下
  2. import sys
  3. from package import mod1
  4. print(sys.path)
  1. # 直接启动(失败)
  2. test_import_project git:(master) ✗ python package2/run.py
  3. Traceback (most recent call last):
  4. File "package2/run.py", line 2, in <module>
  5. from package import mod1
  6. ImportError: No module named package
  7. # 以模块方式启动(成功)
  8. test_import_project git:(master) ✗ python -m package2.run
  9. ['',
  10. '/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
  11. ...]

联想到之前在服务器上跑代码的时候也报过好几次类似的错误,当时百思不解,只好反复修改import路径,现在明白个大概了。

综上,以后要在anaconda base中安装,就要python -m pip install了(话说我是不是应该把原有的python3.6卸载了更方便2333

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/721102
推荐阅读
相关标签
  

闽ICP备14008679号