由于一些奇怪的原因,当我重新登录到集群/HPC时,我使用的conda、activate和deactivate命令停止工作。我打印了它们应该在的位置,但它们不在那里,而是.c~
文件在那里,不再是bin:
brando9~/miniconda/bin $ ls
2to3 certtool c_rehash genrb img2webp lzfgrep pip3.10 raw2tiff tiffcp unzstd xzegrep
2to3-3.9 chardetect cwebp gif2rgb infocmp lzgrep pip3.9 rdjpgcom tiffcrop wandb xzfgrep
activate.c cjpeg deactivate.c gif2webp infotocap lzless pkcs1-conv reset tiffdither wb xzgrep
bsdcat clear derb gifbuild jpegtran lzma pkgdata rg tiffdump webpinfo xzless
bsdcpio conda-build djpeg gifclrmp jpgicc lzmadec pkginfo sexp-conv tiffinfo webpmux xzmore
bsdtar conda.c~ dwebp giffix lame lzmainfo pngfix shortuuid tiffmedian wish zstd
bunzip2 conda-convert f2py giftext libdeflate-gunzip lzmore png-fix-itxt sqlite3 tiffset wish8.6 zstdcat
bzcat conda-debug f2py3 giftool libdeflate-gzip makeconv ppm2tiff sqlite3_analyzer tiffsplit wrjpgcom zstdgrep
bzcmp conda-develop f2py3.9 gnutls-cli libpng16-config ncursesw6-config psicc srptool tificc x86_64-conda_cos7-linux-gnu-ld zstdless
bzdiff conda-env.c~ fax2ps gnutls-cli-debug libpng-config nettle-hash psktool tabs toe x86_64-conda-linux-gnu-ld zstdmt
bzegrep conda-index fax2tiff gnutls-serv linkicc nettle-lfib-stream pydoc tclsh torchrun xml2-config
bzfgrep conda-inspect ffmpeg h264dec lz4 nettle-pbkdf2 pydoc3 tclsh8.6 tput xmlcatalog
bzgrep conda-metapackage ffprobe h264enc lz4c normalizer pydoc3.9 tic tqdm xmllint
bzip2 conda-render freetype-config iconv lz4cat ocsptool python tiff2bw transicc xz
bzip2recover conda-skeleton genbrk icu-config lzcat openssl python3 tiff2pdf tset xzcat
bzless convert-caffe2-to-onnx gencfu icuinfo lzcmp pal2rgb python3.9 tiff2ps unlz4 xzcmp
bzmore convert-onnx-to-caffe2 gencnval idle3 lzdiff patch python3.9-config tiff2rgba unlzma xzdec
captoinfo cph gendict idle3.9 lzegrep patchelf python3-config tiffcmp unxz xzdiff
我尝试重命名文件以删除波浪号~,并使用gcc -Wall activate.c -o activate
为三个C文件中的每个文件重新编译,但失败了,显示以下消息:
brando9~/miniconda/bin $ gcc -Wall activate.c -o activate
activate.c:1:2: error: invalid preprocessing directive #!
#!/bin/sh
^
activate.c:2:1: warning: data definition has no type or storage class
_CONDA_ROOT="/dfs/scratch0/brando9/miniconda"
^
activate.c:2:1: warning: type defaults to ‘int’ in declaration of ‘_CONDA_ROOT’ [-Wimplicit-int]
activate.c:3:3: error: invalid preprocessing directive #Copyright
# Copyright (C) 2012 Anaconda, Inc
^
activate.c:4:3: error: invalid preprocessing directive #SPDX
# SPDX-License-Identifier: BSD-3-Clause
^
activate.c:5:1: error: stray ‘\’ in program
\. "$_CONDA_ROOT/etc/profile.d/conda.sh" || return $?
^
activate.c:5:4: error: expected identifier before string constant
\. "$_CONDA_ROOT/etc/profile.d/conda.sh" || return $?
^
我试着捕获我在wget wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
中使用的install.sh文件,但输出不可读:
...
m�gI���w%��.{=[��M7O�<��R��yj#���#K��r�q�m���V)=��O���?�˳�����MU���i2|I%�D�h�E:���/C� �l>��pD�Y����w��i#��X�eT��eҠ����Grq����X*9l���dW
�~����q�NyF?�_EbE��׳B&���>�Kw5nZ!~ʒ6m�ˡ�����ǟ�� �nX�г]1��R���S 3�}��<Z���En%'��tS�}�;�G7sFi�[��N3�W34<>[�h����M~�1�T�� {&��>H:�Eo �~��Pp�*��%�Օ� �d��H�W��H�7����~h�2�V[Iў��5O�H&�\�u�
u�ZD��Y[d�
��s*�%�u�j� y\AB����� ��qnm/5��j@k����<Z�s3�y*�i����NO�4&��~�邲�W�S��גDY��{�G���8�[���H�?��������H�e+ix�16-�yYI�܉{�j2��P�D�����ڬ��k^��=M��+ɓ�_p�!����k+!�U���B[nj�]nL�
�/5�5X&��0*:�{�=SJ\I�Z}�;?�d��6�[/�JOn'��G����X���5J���K�P��6>e�!����`*���ěX2ؓ�3��h!�#�qП�R}P�1�ï�)=�U¶#|�G�^C
在这一点上,我决定我不知道发生了什么事,也不知道该如何修复它。当然,我的路径是好的,因为其他问题,所以建议修复Conda command not found。在这一点上,我决定我不知道发生了什么事,也不知道如何修复它了。任何帮助,不需要一个小时长的重新安装康达?
相关:
- 交叉https://www.reddit.com/r/learnmachinelearning/comments/yrt9yf/how_do_i_re_compile_the_conda_activate_and/
- 没有帮助How to run Conda?的其他帖子
- 谷歌群组:https://groups.google.com/a/anaconda.com/g/anaconda/c/DpdjFjlj0wg
- 配额:https://www.quora.com/unanswered/How-do-I-re-compile-the-conda-activate-and-deactivate-commands-in-miniconda
- 康达组织:https://github.com/conda/conda/issues/12086
1条答案
按热度按时间ryoqjall1#
bin/activate
和bin/deactivate
文件从来都不是二进制文件,而是简单的shell脚本。所描述的情况似乎表明,不知何故,.c
被附加到文件名。看起来,您可以简单地重命名它们(删除.c
),它们将恢复正常功能。以下是我的版本,以供参考:
这看起来基本上与
gcc
在OP中发出的activate.c
文件的行相同(直到路径)。然而,我注意到使用
bin/activate
已经过时了,AFAIK。从Conda v4.6开始,conda (de|)activate
就变成了shell functions defined byconda shell.posix hook
。bin/activate
文件中的代码是运行conda init
一次(通常在安装时)后用户shell中已经提供的代码的重述。