Hướng dẫn why is my python code not running on command prompt? - tại sao mã python của tôi không chạy trên dấu nhắc lệnh?

Tôi đang cố gắng chạy một kịch bản Python đơn giản trên CMD nhưng không có gì xảy ra khi tôi chạy nó. Tôi không nhận được lỗi hay bất cứ điều gì. Kịch bản PY chỉ là một bản in đơn giản ("Hello World").

Tất cả các tệp .py của tôi đều nằm trong tệp Python/Project.

http://puu.sh/FFfJm/ee63955506.png

Chỉ là một số bối cảnh liên quan đến điều này: Tôi đã cài đặt Python sau đó là Pycharm sau đó là Anaconda. Tôi không biết liệu điều đó có liên quan gì đến các tệp Python mâu thuẫn không.

Khi được hỏi ngày 2 tháng 5 năm 2020 lúc 7:52May 2, 2020 at 7:52

Hướng dẫn why is my python code not running on command prompt? - tại sao mã python của tôi không chạy trên dấu nhắc lệnh?

1

Bạn có chắc là bạn đã nhập đúng truy vấn dòng lệnh của mình không?

python python_file_name.py

Nếu bạn vừa nhập

python "Hello World.py"
0, nó có thể đã thực hiện nó nhưng kết thúc nó đồng thời trước khi bạn có thể thấy bất kỳ kết quả nào.

Ngoài ra, hãy thử đặt file_name của bạn trong các trích dẫn kép.

Đã trả lời ngày 2 tháng 5 năm 2020 lúc 8:01May 2, 2020 at 8:01

Rishirishirishi

6233 Huy hiệu bạc20 Huy hiệu Đồng3 silver badges20 bronze badges

5

Nếu bạn có Python trong đường dẫn nhưng thực thi tập lệnh vẫn không hoạt động, hãy kiểm tra thư mục C: \ User \ AppData \ Local \ Microsoft \ WindowsApps.

Có thể có một tệp python.exe cỡ không. Có vẻ như thư mục này sớm hơn trong PATH và Tệp Zero-byte chặn thực thi lệnh Console. Cửa hàng Microsoft được mở với trang Python nếu tôi chạy tệp đó. Tôi đã xóa thư mục này và tập lệnh Python bắt đầu hoạt động trở lại.

Bạn cũng có thể đảm bảo Python chính xác có sẵn cho thiết bị đầu cuối với 'nơi Python' để xem toàn bộ đường dẫn.

Đã trả lời ngày 3 tháng 10 năm 2021 lúc 13:14Oct 3, 2021 at 13:14

Từ ảnh chụp màn hình của bạn, bạn cần gọi

python "Hello World.py"

với trích dẫn, không, not

python Hello World.py  // no, won't work

Lý do là, khi bạn không bao gồm các trích dẫn xung quanh tên tệp có không gian, nó chỉ lấy điều đầu tiên bạn viết làm tên tập lệnh, phần còn lại của "từ" chỉ được truyền dưới dạng "các đối số dòng lệnh"

Đã trả lời ngày 29 tháng 12 năm 2021 lúc 3:01Dec 29, 2021 at 3:01

Hướng dẫn why is my python code not running on command prompt? - tại sao mã python của tôi không chạy trên dấu nhắc lệnh?

Bobobobobobobobobobobobo

63K59 Huy hiệu vàng251 Huy hiệu bạc353 Huy hiệu Đồng59 gold badges251 silver badges353 bronze badges

Một trong những khía cạnh quan trọng nhất của lập trình là chạy / biên dịch mã thực tế. Tuy nhiên, có những trường hợp vì một số lý do mà máy của chúng tôi sẽ không chạy các tệp Python, đây là một số vấn đề và cách khắc phục chúng trong trường hợp này, nhưng trước tiên, đây là cách phổ biến mà một tệp python được chạy trong thiết bị đầu cuối / dấu nhắc lệnh:

Phần bắt đầu là chúng tôi phân biệt bằng cách sử dụng Python hoặc Python 3 và thư mục đường dẫn đến tệp Python. Bây giờ chúng ta có định dạng đúng, hãy để gặp sự cố khi chụp.

Làm cách nào để chạy một chương trình Python trong Windows? ¶

Đây không nhất thiết là một câu hỏi đơn giản. Nếu bạn đã quen thuộc với các chương trình chạy từ dòng lệnh Windows thì mọi thứ sẽ có vẻ rõ ràng; Nếu không, bạn có thể cần thêm một chút hướng dẫn.

Trừ khi bạn sử dụng một số loại môi trường phát triển tích hợp, cuối cùng bạn sẽ gõ các lệnh windows vào cái được gọi là cửa sổ nhắc lệnh của lệnh. Thông thường bạn có thể tạo một cửa sổ như vậy từ thanh tìm kiếm của bạn bằng cách tìm kiếm

python "Hello World.py"
1. Bạn sẽ có thể nhận ra khi nào bạn đã bắt đầu một cửa sổ như vậy bởi vì bạn sẽ thấy một dấu nhắc lệnh Windows Windows, thường trông như thế này:

Bức thư có thể khác nhau, và có thể có những thứ khác sau nó, vì vậy bạn có thể dễ dàng nhìn thấy một cái gì đó như:

D:\YourName\Projects\Python>

Tùy thuộc vào cách máy tính của bạn đã được thiết lập và những gì bạn đã làm gần đây với nó. Khi bạn đã bắt đầu một cửa sổ như vậy, bạn đang trên đường chạy các chương trình Python.

Bạn cần nhận ra rằng các tập lệnh Python của bạn phải được xử lý bởi một chương trình khác gọi là trình thông dịch Python. Trình thông dịch đọc tập lệnh của bạn, biên dịch nó thành các mã byte và sau đó thực thi các byte để chạy chương trình của bạn. Vì vậy, làm thế nào để bạn sắp xếp cho thông dịch viên để xử lý Python của bạn?

Đầu tiên, bạn cần đảm bảo rằng cửa sổ lệnh của bạn nhận ra từ "py py là một hướng dẫn để bắt đầu trình thông dịch. Nếu bạn đã mở một cửa sổ lệnh, bạn nên thử nhập lệnh

python "Hello World.py"
2 và nhấn trả về:

Sau đó, bạn nên thấy một cái gì đó như:

Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Bạn đã bắt đầu thông dịch viên trong chế độ tương tác trực tuyến. Điều đó có nghĩa là bạn có thể nhập các câu lệnh hoặc biểu thức Python một cách tương tác và để chúng được thực thi hoặc đánh giá trong khi bạn chờ đợi. Đây là một trong những tính năng mạnh nhất của Python. Kiểm tra nó bằng cách nhập một vài biểu thức bạn chọn và xem kết quả:

>>> print("Hello")
Hello
>>> "Hello" * 3
'HelloHelloHello'

Nhiều người sử dụng chế độ tương tác như một máy tính thuận tiện nhưng có thể lập trình rất cao. Khi bạn muốn kết thúc phiên Python tương tác của mình, hãy gọi chức năng

python "Hello World.py"
3 hoặc giữ phím Ctrl trong khi bạn nhập Z, sau đó nhấn phím Enter Enter để quay lại dấu nhắc lệnh Windows của bạn.

Bạn cũng có thể thấy rằng bạn có một mục nhập bắt đầu như kết quả là bạn thấy dấu nhắc

python "Hello World.py"
4 trong một cửa sổ mới. Nếu vậy, cửa sổ sẽ biến mất sau khi bạn gọi hàm
python "Hello World.py"
3 hoặc nhập ký tự Ctrl-Z; Windows đang chạy một lệnh Python Python duy nhất trong cửa sổ và đóng nó khi bạn chấm dứt trình thông dịch.

Bây giờ chúng tôi đã biết lệnh

python "Hello World.py"
2 được công nhận, bạn có thể cung cấp tập lệnh Python của mình cho nó. Bạn sẽ phải đưa ra một đường dẫn tuyệt đối hoặc tương đối đến kịch bản Python. Hãy nói rằng tập lệnh Python của bạn được đặt trong máy tính để bàn của bạn và được đặt tên là
python "Hello World.py"
7 và dấu nhắc lệnh của bạn được mở một cách độc đáo trong thư mục nhà của bạn để bạn thấy một cái gì đó tương tự như:

Vì vậy, bây giờ bạn sẽ yêu cầu lệnh

python "Hello World.py"
2 đưa tập lệnh của bạn cho Python bằng cách nhập
python "Hello World.py"
2 theo sau là đường dẫn tập lệnh của bạn:

C:\Users\YourName> py Desktop\hello.py
hello

Làm cách nào để thực hiện các tập lệnh Python? ¶

Trên Windows, trình cài đặt Python tiêu chuẩn đã liên kết tiện ích mở rộng .py với loại tệp (python.file) và đưa ra loại tệp đó một lệnh mở chạy trình thông dịch (

python Hello World.py  // no, won't work
0). Điều này là đủ để làm cho các tập lệnh có thể thực thi từ dấu nhắc lệnh là ‘foo.py. Nếu bạn có thể thực thi tập lệnh bằng cách gõ đơn giản ‘foo, không có phần mở rộng nào bạn cần thêm .Py vào biến môi trường Pathext.

Tại sao Python đôi khi mất quá nhiều thời gian để bắt đầu? ¶

Thông thường, Python bắt đầu rất nhanh trên các cửa sổ, nhưng đôi khi có các báo cáo lỗi mà Python đột nhiên bắt đầu mất nhiều thời gian để bắt đầu. Điều này thậm chí còn gây khó hiểu hơn vì Python sẽ hoạt động tốt trên các hệ thống Windows khác dường như được cấu hình giống hệt nhau.

Vấn đề có thể được gây ra bởi sự cấu hình sai phần mềm kiểm tra virus trên máy có vấn đề. Một số máy quét virus đã được biết là giới thiệu chi phí khởi động của hai bậc độ lớn khi máy quét được cấu hình để giám sát tất cả các lần đọc từ hệ thống tập tin. Hãy thử kiểm tra cấu hình của phần mềm quét virus trên các hệ thống của bạn để đảm bảo rằng chúng thực sự được cấu hình giống hệt nhau. McAfee, khi được cấu hình để quét tất cả hoạt động đọc hệ thống tệp, là một người phạm tội cụ thể.

Làm cách nào để thực hiện một thực thi từ kịch bản Python? ¶

Xem làm thế nào tôi có thể tạo một nhị phân độc lập từ kịch bản Python? Đối với một danh sách các công cụ có thể được sử dụng để thực hiện thực thi.How can I create a stand-alone binary from a Python script? for a list of tools that can be used to make executables.

Tệp python Hello World.py // no, won't work 1 có giống như DLL không? ¶

Có, các tệp .pyd là DLL, nhưng có một vài sự khác biệt. Nếu bạn có DLL có tên

python Hello World.py  // no, won't work
2, thì nó phải có hàm
python Hello World.py  // no, won't work
3. Sau đó, bạn có thể viết Python Hồi Nhập FOO, và Python sẽ tìm kiếm foo.pyd (cũng như foo.py, foo.pyc) và nếu tìm thấy nó, sẽ cố gắng gọi
python Hello World.py  // no, won't work
3 để khởi tạo nó. Bạn không liên kết .exe của bạn với foo.lib, vì điều đó sẽ khiến Windows yêu cầu DLL phải có mặt.

Lưu ý rằng đường dẫn tìm kiếm cho foo.pyd là PythonPath, không giống với đường dẫn mà Windows sử dụng để tìm kiếm foo.dll. Ngoài ra, foo.pyd không cần phải có mặt để chạy chương trình của bạn, trong khi nếu bạn liên kết chương trình của mình với DLL, DLL là bắt buộc. Tất nhiên, foo.pyd là bắt buộc nếu bạn muốn nói

python Hello World.py  // no, won't work
5. Trong một DLL, liên kết được khai báo trong mã nguồn với
python Hello World.py  // no, won't work
6. Trong .Pyd, liên kết được xác định trong một danh sách các chức năng có sẵn.

Làm thế nào tôi có thể nhúng Python vào một ứng dụng Windows? ¶

Việc nhúng trình thông dịch Python vào ứng dụng Windows có thể được tóm tắt như sau:

  1. Không xây dựng Python vào tệp .exe của bạn trực tiếp. Trên Windows, Python phải là một DLL để xử lý các mô -đun nhập là DLL. (Đây là thực tế quan trọng đầu tiên không có giấy tờ.) Thay vào đó, liên kết đến

    python Hello World.py  // no, won't work
    
    7; Nó thường được cài đặt trong
    python Hello World.py  // no, won't work
    
    8. NN là phiên bản Python, một số như là 33 33 cho Python 3.3.not build Python into your .exe file directly. On Windows, Python must be a DLL to handle importing modules that are themselves DLL’s. (This is the first key undocumented fact.) Instead, link to
    python Hello World.py  // no, won't work
    
    7; it is typically installed in
    python Hello World.py  // no, won't work
    
    8. NN is the Python version, a number such as “33” for Python 3.3.

    Bạn có thể liên kết đến Python theo hai cách khác nhau. Liên kết thời gian tải có nghĩa là liên kết với

    python Hello World.py  // no, won't work
    
    9, trong khi liên kết thời gian chạy có nghĩa là liên kết với
    python Hello World.py  // no, won't work
    
    7. .

    Thời gian chạy liên kết đơn giản hóa rất nhiều tùy chọn liên kết; Mọi thứ xảy ra trong thời gian chạy. Mã của bạn phải tải

    python Hello World.py  // no, won't work
    
    7 bằng cách sử dụng thói quen Windows
    D:\YourName\Projects\Python>
    
    4. Mã này cũng phải sử dụng các thói quen và dữ liệu truy cập trong
    python Hello World.py  // no, won't work
    
    7 (nghĩa là Python, C C API,) bằng cách sử dụng các con trỏ thu được từ thói quen Windows
    D:\YourName\Projects\Python>
    
    6. Macro có thể sử dụng các con trỏ này minh bạch cho bất kỳ mã C nào gọi các thói quen trong API Python.

  2. Nếu bạn sử dụng SWIG, thật dễ dàng để tạo một mô -đun mở rộng Python, sẽ làm cho dữ liệu và phương thức ứng dụng có sẵn cho Python. Swig sẽ xử lý tất cả các chi tiết grungy cho bạn. Kết quả là mã C mà bạn liên kết với tệp .exe (!) Bạn không phải tạo tệp DLL và điều này cũng đơn giản hóa liên kết.not have to create a DLL file, and this also simplifies linking.

  3. SWIG sẽ tạo hàm init (hàm C C) có tên phụ thuộc vào tên của mô -đun mở rộng. Ví dụ: nếu tên của mô -đun là LEO, hàm init sẽ được gọi là interLeo (). Nếu bạn sử dụng các lớp SWIG Shadow, như bạn nên, hàm init sẽ được gọi là initingLeoc (). Điều này khởi tạo một lớp trợ giúp chủ yếu được sử dụng bởi lớp bóng.

    Lý do bạn có thể liên kết mã C trong bước 2 vào tệp .exe của bạn là việc gọi hàm khởi tạo tương đương với việc nhập mô -đun vào Python! (Đây là thực tế khóa thứ hai không có giấy tờ.)

  4. Nói tóm lại, bạn có thể sử dụng mã sau để khởi tạo trình thông dịch Python với mô -đun mở rộng của mình.

    #include <Python.h>
    ...
    Py_Initialize();  // Initialize Python.
    initmyAppc();  // Initialize (import) the helper class.
    PyRun_SimpleString("import myApp");  // Import the shadow class.
    

  5. Có hai vấn đề với API Python từ C sẽ trở nên rõ ràng nếu bạn sử dụng trình biên dịch khác ngoài MSVC, trình biên dịch được sử dụng để xây dựng pythonnn.dll.

    Vấn đề 1: Cái gọi là các chức năng cấp độ rất cao của các đối số

    D:\YourName\Projects\Python>
    
    7 sẽ không hoạt động trong môi trường đa trình biên dịch vì mỗi trình biên dịch khác về khái niệm
    D:\YourName\Projects\Python>
    
    8 sẽ khác nhau. Từ quan điểm thực hiện, đây là các chức năng cấp độ rất thấp.

    Bài 2: SWIG tạo mã sau khi tạo trình bao bọc cho các hàm void:

    Py_INCREF(Py_None);
    _resultobj = Py_None;
    return _resultobj;
    

    Than ôi, py_none là một macro mở rộng đến một tham chiếu đến một cấu trúc dữ liệu phức tạp gọi là _py_nonestruct bên trong pythonnn.dll. Một lần nữa, mã này sẽ thất bại trong môi trường đa bộ. Thay thế mã đó bằng:

    return Py_BuildValue("");
    

    Có thể sử dụng lệnh Swig từ

    D:\YourName\Projects\Python>
    
    9 để tự động thay đổi, mặc dù tôi không thể làm cho nó hoạt động (tôi là một người mới hoàn chỉnh).

  6. Sử dụng tập lệnh Python Shell để đưa lên cửa sổ phiên dịch Python từ bên trong ứng dụng Windows của bạn không phải là một ý tưởng tốt; Cửa sổ kết quả sẽ độc lập với hệ thống cửa sổ ứng dụng của bạn. Thay vào đó, bạn (hoặc lớp wxpythonwindow) sẽ tạo một cửa sổ phiên dịch bản địa của người Hồi giáo. Thật dễ dàng để kết nối cửa sổ đó với trình thông dịch Python. Bạn có thể chuyển hướng Python từ I/O đến _any_ đối tượng hỗ trợ đọc và viết, vì vậy tất cả những gì bạn cần là một đối tượng Python (được xác định trong mô -đun mở rộng của bạn) có chứa các phương thức đọc () và ghi ().

Làm cách nào để giữ các biên tập viên không chèn các tab vào nguồn Python của tôi? ¶

Câu hỏi thường gặp không khuyến nghị sử dụng các tab và Hướng dẫn kiểu Python, PEP 8, khuyến nghị 4 không gian cho mã Python phân tán; Đây cũng là mặc định chế độ python Emacs.PEP 8, recommends 4 spaces for distributed Python code; this is also the Emacs python-mode default.

Theo bất kỳ trình soạn thảo nào, trộn các tab và không gian là một ý tưởng tồi. MSVC không khác nhau về mặt này và dễ dàng được cấu hình để sử dụng khoảng trắng: lấy và đối với loại tệp mặc định, bộ mặc định, bộ tab tab tab kích thước và kích thước thụt đầu vào 4, và chọn nút radio chèn không gian.

Python tăng

Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
0 hoặc
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
1 nếu các tab và không gian hỗn hợp gây ra vấn đề trong khoảng trắng hàng đầu. Bạn cũng có thể chạy mô -đun
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
2 để kiểm tra cây thư mục ở chế độ hàng loạt.

Làm cách nào để kiểm tra Keypress mà không bị chặn? ¶

Sử dụng mô -đun

Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
3. Đây là một mô-đun mở rộng dành riêng cho Windows tiêu chuẩn. Nó xác định một hàm
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
4 trong đó kiểm tra xem có phải một cú đánh bàn phím hay không và
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
5 có một ký tự mà không lặp lại nó.

Làm cách nào để giải quyết lỗi API-MS-Win-crt-Runtime-L1-1-0.dll bị thiếu

Điều này có thể xảy ra trên Python 3.5 và sau đó khi sử dụng Windows 8.1 hoặc sớm hơn mà không có tất cả các bản cập nhật đã được cài đặt. Trước tiên, hãy đảm bảo hệ điều hành của bạn được hỗ trợ và được cập nhật và nếu điều đó không giải quyết được sự cố, hãy truy cập trang hỗ trợ Microsoft để được hướng dẫn về cài đặt Cập nhật thời gian chạy C theo cách thủ công.

Tại sao Python của tôi không hoạt động trong Promer Prompt?

Các Python không được công nhận là lỗi lệnh bên trong hoặc bên ngoài. Lỗi được gây ra khi tệp thực thi của Python không được tìm thấy trong biến môi trường do lệnh Python trong dấu nhắc lệnh Windows.Python's executable file is not found in an environment variable as a result of the Python command in the Windows command prompt.

Làm thế nào để tôi có được Python để làm việc trong CMD?

Để chạy các tập lệnh Python bằng lệnh Python, bạn cần mở một dòng lệnh và nhập từ python, hoặc python3 nếu bạn có cả hai phiên bản, theo sau là đường dẫn đến tập lệnh của bạn, giống như thế này: $ python3 hello.py xin chàoThế giới!Nếu mọi thứ hoạt động ổn, sau khi bạn nhấn Enter, bạn sẽ thấy cụm từ Hello World!open a command-line and type in the word python , or python3 if you have both versions, followed by the path to your script, just like this: $ python3 hello.py Hello World! If everything works okay, after you press Enter , you'll see the phrase Hello World!

Tại sao tệp Python của tôi không chạy?

Như bạn có thể thấy, khi bạn gặp lỗi như thế này, đây là một vấn đề với thư mục.Điều tốt nhất cần làm trong trường hợp này là thực sự định vị tệp của bạn, và sao chép và dán đường dẫn tệp từ đó thay vì nhập địa chỉ vào dấu nhắc thiết bị đầu cuối / lệnh.this is a problem with the directory. The best thing to do in this case is to actually locate your file, and copy and paste the file path from there rather than type in the address in the terminal / command prompt.

Làm cách nào để chạy một chương trình Python trong dòng lệnh windows?

Để bắt đầu shell python, chỉ cần nhập python và nhấn enter vào thiết bị đầu cuối: c: \ user \ suchandra datta> python python 3.8.type python and hit Enter in the terminal: C:\Users\Suchandra Datta>python Python 3.8.