Một trong những khía cạnh khó chịu nhất của việc học cách viết mã bằng Python thậm chí không liên quan đến bất kỳ mã hóa nào. Đối với nhiều người mới bắt đầu, chỉ cần chạy Python trên máy cục bộ của họ có thể là một thách thức đáng kể
Người dùng Windows nói riêng có thể thấy mình gặp một thông báo lỗi lạ và phức tạp khi cố chạy Python từ Dấu nhắc Lệnh.
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
0Trong bài viết này, bạn sẽ xem xét kỹ hơn lỗi 'python' không được nhận dạng là lệnh nội bộ hoặc bên ngoài và xem một số cách khắc phục nhanh lỗi này
Lưu ý rằng cách viết chính xác của lỗi này có thể khác một chút và bài viết này có thể giúp ích cho bạn nếu bạn đang gặp phải các lỗi tương tự bao gồm thông báo như Python Not Found hoặc Python Was Not Found
Tổng quan
Bạn có thể đã gặp lỗi này nếu đang chạy Python trên máy Windows. Nếu bạn là người dùng Linux hoặc Mac, hãy bỏ qua phần có tiêu đề,. Nhưng trước khi thảo luận về cách khắc phục lỗi này, hãy hiểu rõ hơn về lý do tại sao nó xảy ra
Khi Python được cài đặt trên máy Windows của bạn, có thể bạn sẽ thử chạy nó theo một trong hai cách sau
Cách đầu tiên là xác định vị trí tệp thực thi Python trên hệ thống của bạn và nhấp đúp vào tệp đó. Đây là tệp thực thi thực tế cho chính Python mà bạn đã tải xuống từ trang tải xuống Python chính thức
Thao tác này sẽ mở Python IDE trong một cửa sổ riêng và bạn sẽ có thể viết mã trong trình thông dịch tương tác
Cách thứ hai là mở Command Prompt, gõ từ
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
1 và nhấn Enter. Lý tưởng nhất là điều này sẽ mở ra một phiên bản Python trong cùng một cửa sổThật không may, cũng có khả năng bạn gặp phải lỗi này
Trong trường hợp này, thay vào đó, bạn sẽ nhận được thông báo lỗi có nội dung "'python' không được nhận dạng dưới dạng lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó. "
Vì vậy, lỗi lạ này có nghĩa là gì và tại sao bạn lại nhìn thấy nó?
Khi bạn điều hướng đến thư mục chứa tệp Python có thể thực thi và nhấp vào tệp đó, Windows sẽ biết chính xác tệp bạn muốn nó chạy và mở trình thông dịch Python mà không gặp vấn đề gì
Tuy nhiên, khi bạn cố gắng chạy một chương trình từ Dấu nhắc Lệnh, Windows sẽ chỉ chạy chương trình đó nếu nó đã biết tệp đó nằm ở đâu trên máy của bạn. Nó thực hiện điều này thông qua biến môi trường
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2Các biến môi trường cho máy tính biết sự thật về môi trường thời gian chạy của hệ điều hành hiện tại. Ví dụ:
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
3 sẽ cho hệ thống máy tính biết người dùng đã đăng nhập hiện tại là ai và user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
4 sẽ cung cấp vị trí thư mục chính của người dùng đóBiến môi trường
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 cho hệ thống biết thư mục nào cần tìm cho các chương trình thực thi. Khi người dùng nhập tên chương trình vào Dấu nhắc lệnh và không chỉ định vị trí tệp chính xác của chương trình đó, thì hệ thống máy tính sẽ tìm kiếm tất cả các thư mục được liệt kê trong user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 để tìm vị trí của tệp và thực thi nóĐiều này có nghĩa là nếu thư mục chứa chương trình bạn muốn thực thi không được liệt kê trong biến môi trường
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2, thì Windows sẽ không tìm kiếm thư mục đó để tìm bất kỳ tệp thực thi nào. Nói cách khác, nó sẽ không bao giờ tìm thấy Python và sẽ không thể thực thi nó từ Dấu nhắc LệnhTrong vài phần tiếp theo, chúng ta sẽ thảo luận cách khắc phục. 'python' không được công nhận là lệnh bên trong hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó
Có một số cách để khắc phục lỗi này, nhưng chúng ta hãy xem xét một số cách phổ biến nhất
Chỉ định vị trí đầy đủ cho python. người cũ
Trước đây bạn đã biết rằng lỗi này xảy ra khi Windows không thể tìm thấy vị trí của tệp thực thi Python
Một cách để sửa lỗi là khởi chạy Python từ Dấu nhắc lệnh bằng cách chuyển vào đường dẫn đầy đủ tới tệp thực thi mỗi khi bạn muốn chạy Python. Nói cách khác, thay vì gõ
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
0, bạn sẽ gõ một cái gì đó như user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
1Để tìm đường dẫn đầy đủ, hãy mở menu Bắt đầu và tìm kiếm "Python"
Chọn Mở vị trí tệp, thao tác này sẽ hiển thị cửa sổ Explorer với thư mục chứa tệp thực thi Python. [Lưu ý rằng đây có thể là một lối tắt, trong trường hợp đó, bạn cần nhấp chuột phải vào tệp thực thi Python và chọn Mở vị trí tệp lần thứ hai. ] Cuối cùng, bạn sẽ thấy một tệp có tên là
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2Bạn muốn click chuột phải vào file này và chọn Properties
Trong tab Chung, bạn sẽ thấy một mục có tiêu đề Vị trí chứa đường dẫn hệ thống đầy đủ tới tệp thi hành này
Sao chép đường dẫn này và quay lại Dấu nhắc lệnh. Dán nó vào, thêm dấu gạch chéo ở cuối và
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 để biểu thị tệp chương trình và nhấn Enter. Python sẽ khởi chạy mà không gặp sự cốĐiều này sẽ cho phép bạn chạy thành công Python từ Dấu nhắc Lệnh. Tuy nhiên, quá trình định vị đường dẫn tệp chính xác có thể rất tẻ nhạt và với cách khắc phục này, bạn cần cung cấp đường dẫn này mỗi lần bạn muốn chạy Python
Rất may, thay vì chỉ định đường dẫn đầy đủ mỗi lần, bạn chỉ cần thêm vị trí tệp này vào hệ thống của mình
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2Thêm vị trí đầy đủ của python. exe sang ĐƯỜNG
Nhớ lại rằng biến môi trường
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 cho hệ thống của bạn biết thư mục nào cần tìm để định vị các chương trình thực thi. Để có thể chạy Python từ Dấu nhắc Lệnh, bạn cần đảm bảo rằng thư mục chứa tệp thực thi Python được liệt kê trong hệ thống user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2Khi bạn cài đặt Python lần đầu tiên, bạn có thể chọn một tùy chọn để trình cài đặt thực hiện việc này cho bạn
Tuy nhiên, nếu bạn không chọn tùy chọn này trong khi cài đặt, bạn vẫn có thể quay lại và thêm nó sau
Có hai cách chính để thực hiện điều này. thông qua trình cài đặt và thủ công
Trình cài đặt
Khi bạn tải xuống Python lần đầu tiên từ trang tải xuống Python chính thức, máy tính của bạn sẽ lưu tệp cài đặt có tiêu đề
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
7 hoặc một cái gì đó tương tự vào một thư mục được chỉ định, thường là thư mục Tải xuống của bạn. Bạn có thể sử dụng cùng trình cài đặt này để cập nhật cài đặt Python của mình và thêm vị trí của nó vào hệ thống của bạn user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2Tìm kiếm trình cài đặt từ menu Bắt đầu hoặc tìm nó trong thư mục Tải xuống của bạn [hoặc bất kỳ thư mục nào bạn đã tải xuống]. Khi bạn nhấp vào nó lần này, thay vì yêu cầu bạn cài đặt Python, nó sẽ hiển thị cho bạn một số tùy chọn để sửa đổi thiết lập của bạn
Nhấp vào Sửa đổi sẽ đưa bạn đến trang Tính năng tùy chọn
Từ đây, bạn nên nhấp vào Tiếp theo cho đến khi bạn thấy trang Tùy chọn nâng cao. Trên trang này, hãy chọn hộp kiểm có nội dung Thêm Python vào biến môi trường
Trình cài đặt sẽ sửa đổi cài đặt Python của bạn và thêm vị trí chương trình thực thi vào biến
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 hệ thống của bạn. Sau khi chỉnh sửa xong, bạn có thể mở Command Prompt và gõ user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
1 để vào trình thông dịchBạn sẽ thấy không có lỗi tại thời điểm này
thủ công
Nếu bạn không thể tìm thấy nơi bạn đã tải xuống trình cài đặt Python hoặc bạn đã xóa nó khỏi máy tính của mình, bạn luôn có thể tự sửa đổi biến môi trường
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2. Phần này hướng dẫn bạn cách thực hiện điều nàyĐầu tiên bạn cần có đầy đủ đường dẫn đến thư mục chứa file chương trình
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2. [Tham khảo phần "Chỉ định vị trí đầy đủ cho python. exe" để biết cách thực hiện việc này. ]Khi bạn có vị trí tệp, bạn sẽ cần thêm nó vào cuối hệ thống của mình
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2. Để sửa đổi đường dẫn, trước tiên hãy mở cài đặt hệ thống của bạn. Bạn thường có thể truy cập cài đặt hệ thống bằng cách mở menu Bắt đầu và tìm kiếm Giới thiệu về PC của bạn. Nhấp vào Cài đặt hệ thống nâng cao [nằm trong menu ở phía bên tay phải]Bạn sẽ được chuyển hướng đến hộp thoại Thuộc tính hệ thống. Trong tab Nâng cao, nhấp vào Biến môi trường
Thao tác này sẽ mở hộp thoại Biến môi trường. Đây là nơi hệ thống của bạn
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 được xác định. Đây là biến bạn sẽ muốn thay đổi để báo cho máy Windows của bạn biết nơi tìm chương trình thực thi Python. Đảm bảo rằng bạn đã chọn biến môi trường đường dẫn, sau đó nhấp vào Chỉnh sửaBây giờ, bạn sẽ có tùy chọn chỉnh sửa biến môi trường
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2. Nhấp vào Mới, thao tác này sẽ nối thêm phần tử mới vào danh sáchĐây là nơi bạn sẽ muốn nhập đường dẫn đầy đủ đến thư mục chứa tệp
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 mà bạn đã tìm thấy trước đóBấm OK trên mỗi hộp thoại cho đến khi bạn thoát khỏi tất cả chúng hoàn toàn
Đó là nó. Bạn sẽ có thể mở Dấu nhắc lệnh và nhập
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
1 và lệnh sẽ thực thi mà không có lỗiNếu tôi đang sử dụng một hệ điều hành khác thì sao?
Lỗi "'python' không được nhận dạng là lệnh bên trong hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp bó" dành riêng cho hệ điều hành Windows. Nếu bạn đang sử dụng một hệ điều hành khác, có thể bạn sẽ không thấy những từ chính xác này. Đặc biệt, các hệ thống dựa trên Unix như Linux hoặc macOS sẽ nói điều gì đó hơi khác một chút
user@host:~$ python
bash: python: command not found
Trong trường hợp này, vấn đề thường giống nhau - hệ điều hành không thể tìm thấy lệnh
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
1, vì vị trí của tệp nhị phân không được xác định trong hệ thống user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2May mắn thay, đối với các hệ thống dựa trên Unix, cách khắc phục thường đơn giản hơn nhiều - chỉ cần kiểm tra để đảm bảo rằng bạn thực sự đã cài đặt Python. Các hệ điều hành này thường sẽ cài đặt Python theo
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
10 hoặc user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
11, các thư mục được bao gồm trong đường dẫn hệ thống theo mặc địnhBạn có thể xác nhận điều này bằng cách lặp lại biến môi trường
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 thành thiết bị xuất chuẩnuser@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
Nếu bạn thấy lỗi
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
13 trên hệ điều hành giống Unix, chỉ cần sử dụng trình quản lý gói của bạn để cài đặt phiên bản Python mới nhất rồi thử chạy lại lệnhTóm lược
Trong hướng dẫn này, bạn đã biết cách khắc phục lỗi mà nhiều người dùng Windows gặp phải khi lần đầu thử chạy Python trên máy của họ.
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
0. Lỗi này xuất hiện trên hệ điều hành Windows khi vị trí của tệp thực thi Python chưa được chỉ định chính xác trong biến môi trường user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 của hệ thốngBạn đã biết cách khắc phục lỗi này bằng cách chỉ định vị trí đầy đủ cho tệp
user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 mỗi khi bạn muốn chạy Python từ Dấu nhắc Lệnh. Bạn cũng đã học cách thêm vị trí tệp này vào hệ thống của mình user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2 để Windows có thể tự động tìm thấy tệp đó. Bạn đã làm điều này bằng trình cài đặt Python cũng như thủ công bằng cách chỉnh sửa biến môi trường user@host:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
2Cuối cùng, bạn đã thấy một lỗi tương tự mà người dùng hệ thống dựa trên Unix có thể gặp phải, cũng như cách giải quyết nhanh chóng
Bước tiếp theo
chúc mừng. Bây giờ bạn đã thiết lập và chạy Python trên máy của mình, đã đến lúc tìm hiểu sâu về viết mã. Tìm kiếm những điều cơ bản để bắt đầu?
Xin lưu ý rằng lỗi bạn đã giải quyết trong hướng dẫn này sẽ không phải là lỗi duy nhất bạn gặp phải trên hành trình Python của mình. Ví dụ: lỗi hàm return outside trong Python là một lỗi khác có khả năng xuất hiện sớm
Nếu bạn muốn tìm hiểu thêm về những kiến thức cơ bản về Python, mã hóa và phát triển phần mềm, hãy xem Sách hướng dẫn những điều cơ bản về mã hóa dành cho nhà phát triển của chúng tôi, nơi chúng tôi đề cập đến các ngôn ngữ, khái niệm và công cụ thiết yếu mà bạn sẽ cần để trở thành một nhà phát triển chuyên nghiệp
Cảm ơn và mã hóa hạnh phúc. Chúng tôi hy vọng bạn thích bài viết này. Nếu bạn có bất kỳ câu hỏi hoặc nhận xét nào, vui lòng liên hệ với jacob@initialcommit. io