2016-10-05 24 views
10

Tôi đang sử dụng linux vòm và tôi đã cài đặt Anaconda theo hướng dẫn trên trang Anaconda. Khi tôi đang cố gắng để chạy conda info --envs tôi nhận được lỗi sau:lệnh conda sẽ nhắc lỗi: "Bad Interpreter: Không có tệp hoặc thư mục như vậy"

bash: /home/lukasz/anaconda3/bin/conda: /opt/anaconda1anaconda2anaconda3/bin/python: bad interpreter: No such file or directory

Tôi đã tryed tìm kiếm các thư mục /opt/anaconda1anaconda2anaconda3/bin/python: nhưng nó chỉ đơn giản là không tồn tại.

Hơn nữa, khi tôi chạy python từ nhà ga nó chạy như bình thường với những sản phẩm sau hiển thị ở phía trên cùng

Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul 2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 

cho đầy đủ tập tin .bashrc của tôi giống như:

# 
# ~/.bashrc 
# 

# If not running interactively, don't do anything 
[[ $- != *i* ]] && return 

alias ls='ls --color=auto' 
PS1='[\[email protected]\h \W]\$ ' 

# added by Anaconda3 4.0.0 installer 
export PATH="/home/lukasz/anaconda3/bin:$PATH" 

# python startup for up keys 
export PYTHONSTARTUP=$HOME/.pythonstartup 

Tôi đã thử sau các Conda command not found và thực hiện những thay đổi thích hợp nhưng không có gì, tôi cũng đã cố gắng để Conda command not found, path is in .bashrc nhưng có thực sự không phải là một giải pháp được đăng.

Tôi muốn cố gắng sửa lỗi này mà không phải xóa Anaconda và cài đặt lại.

Trả lời

17

Đã xảy ra sự cố trong khi cài đặt, tôi cho là vậy. Trình thông dịch sai nghĩa là tập lệnh đang tìm một thông dịch viên không tồn tại - như bạn đã chỉ ra một cách chính xác.

Sự cố có thể xảy ra trong tuyên bố của shebang #! về tập lệnh conda của bạn.

From Wikipedia : Under Unix-like operating systems, when a script with a shebang is run as a program, the program loader parses the rest of the script's initial line as an interpreter directive; the specified interpreter program is run instead, passing to it as an argument the path that was initially used when attempting to run the script.

Nếu bạn chạy

cat ~/anaconda3/bin/conda 

Bạn có thể sẽ nhận được như sau:

#!/opt/anaconda1anaconda2anaconda3/bin/python 
if __name__ == '__main__': 
    import sys 
    import conda.cli 

    sys.exit(conda.cli.main()) 

Thay đổi dòng đầu tiên để chỉ một người phiên dịch chính xác, ví dụ, thay đổi nó để:

#!/home/lukasz/anaconda3/bin/python 

Should mak e công việc conda lệnh.

Nếu bạn chắc chắn rằng bạn đã cài đặt mọi thứ đúng cách, sau đó tôi muốn đề nghị có thể vươn ra cho support from the anaconda community.

+0

Đó là kết quả chính xác tôi nhận được khi chạy 'cat ~/anaconda3/bin/conda'. Tôi đang cố gắng thay đổi dòng đầu tiên để trỏ đến một thông dịch viên chính xác nhưng tôi không chắc chắn cách thực hiện điều đó. – Lukasz

+2

mở tệp trong bất kỳ trình soạn thảo văn bản nào. – dangom

+0

Giải pháp này cũng được áp dụng cho ipython, cần phải thực hiện tương tự với con mèo ~/anaconda3/bin/ipython. Vấn đề đã xảy ra với tôi khi tôi di chuyển thư mục python của tôi đến một nơi khác. –

0

Như câu trả lời ở trên, vấn đề này có thể được giải quyết bằng cách thay đổi

#!/opt/anaconda1anaconda2anaconda3/bin/python 

để

#!/opt/anaconda3/bin/python 

Tuy nhiên, ngay sau khi bạn thực hiện cài đặt tiếp theo, ví dụ: "conda install [...]" điều này sẽ được thay đổi lại thành anaconda1anaconda2anaconda3, vì bất kỳ lý do gì.

Bạn cũng có thể nhận ra một số cảnh báo và lỗi cài đặt rất có khả năng liên quan đến vấn đề này. Nếu bạn muốn loại bỏ vấn đề này, bạn phải giải quyết các cảnh báo và lỗi này. Giả định mạnh nhất của tôi là có thiếu quyền quản trị gây ra vấn đề này, khi bạn cố gắng cài đặt một số gói conda lần đầu tiên.

Các vấn đề liên quan