conda激活env不更改文件目录

时间:2016-12-20 17:46:23

标签: python batch-file environment-variables virtualenv anaconda

我无法编写(因此安装软件包)到C:\Anaconda\envs\文件夹,但即使将envs目录变量更改为指向新路径,activate命令也不起作用。

enter image description here

有什么建议吗?我查看了activate.py脚本,但没有看到与我匹配的错误消息或更改文件路径的位置

在Windows-64中工作。不在powershell中。不确定如何手动编辑我的PATH。已经查看Conda virtual envinment not changing under Windows - 类似问题

我也没有成功使用这个类似的帖子:How to activate an Anaconda environment

activate.bat文件是第24行产生错误的内容,但我不知道如何修复它。好像ANACONDA_ENVS在第4行设置,但我不知道ANACONDA_ENVS = %% ~fin是什么意思

4 个答案:

答案 0 :(得分:0)

类型:

activate C:\Users\N029810\.conda\envs\my_root

提示应更改为:

(my_root)

现在,您应该能够安装软件包:

conda install <apackage>

答案 1 :(得分:0)

尝试在.condarc文件中添加新的路径变量(注意:这假设%USERPROFILE%是您上面使用的C:\ Users \ USERNAME目录)

conda config --prepend envs_dirs %USERPROFILE%/.conda/envs

关闭并重新打开CMD并尝试

activate my_root

答案 2 :(得分:0)

为解决此问题,我修改了“ my_root \ Scripts”文件夹中的activate.bat副本的标头,并添加了固定路径:

#!/usr/bin/python

# importing libraries    
import sys, getopt

def main(argv):
   # defining empty string variables
   inputfile = ''
   outputfile = ''

   # try/except block. Try this code, if it fails, handle it
   try:
      # looks like you are parsing command line arguments
      opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
   except getopt.GetoptError:
      print 'test.py -i <inputfile> -o <outputfile>'
      sys.exit(2)
   #iterate through the cmd line arguments
   for opt, arg in opts:
      # of option is -h, do this (same with the following)
      if opt == '-h':
         print 'test.py -i <inputfile> -o <outputfile>'
         sys.exit()
      elif opt in ("-i", "--ifile"):
         inputfile = arg
      elif opt in ("-o", "--ofile"):
         outputfile = arg
   print 'Input file is "', inputfile
   print 'Output file is "', outputfile

# python main function
if __name__ == "__main__":
   # call method main and pass the cmd line arguments
   main(sys.argv[1:])

这意味着我必须在提示符下执行

 for /f "delims=" %%i in ("%~dp0..\envs") do (
    set ANACONDA_ENVS=C:\Users\yourusername\.conda\envs
)

指定完整路径。

答案 3 :(得分:0)

复制activate.bat文件为我修复了