How to get pydoc command working in Windows?

2020-05-25 07:51发布

问题:

pydoc does not work in Windows. at this post Pydoc is not working (Windows XP) the last answer by dave webb says to create a pydoc.bat file with this code in it:

@python c:\Python27\Lib\pydoc.py %*

After I create pydoc.bat where should it be placed so the pydoc command works in the command prompt?

PS adding C:\python27\Lib\pydoc.py to the Windows path in the system environment variables does not work. Even after logging out and back in it does not work.

回答1:

PS adding C:\python27\Lib\pydoc.py to the Windows path in the system environment variables does not work. Even after logging out and back in it does not work.

The PATH environment variable is a list of directories to search for a given executable. So you should be adding C:\python27\Lib to your PATH (not including the filename).

As for the pydoc.bat file you've created, one place to put it would be the C:\python27\Scripts directory which is usually added to your PATH by the python installation (since that folder contains miscellaneous scripts that you might like available at the command line).



回答2:

Use python -m pydoc os instead of pydoc directly, no need to add to path variable.

the -m tells python that pydoc is a pre-built module in python and NOT a script (.py file) sitting in the current working folder.

See https://docs.python.org/3/using/cmdline.html for details



回答3:

I have found in windows 10 powershell...

Remember to access pydoc in windows, it's python -m pydoc. If you want to access info on "file", add the word "file" after. Like this "python -m pydoc file" (*w/o the quotes).

What you type after python -m pydoc, will tell it what info you want brought up and/or looking for. i.e. python -m pydoc raw_input, python -m pydoc string, python -m pydoc file.

Remmeber python -m pydoc must be in front of what you are looking for.



回答4:

put it in any folder that is in your PATH. Example: C:\Windows\System32

Alternatively, you can put it anywhere, and then add the folder it is in to windows PATH



回答5:

If you add .PY to your PATHEXT environment variable, you don't need the batch script. Just add C:\Python27\Lib to PATH, and you're all set.



回答6:

As an example for Raw_input, try: python -m pydoc raw_input



回答7:

I have a simple PowerShell script sitting in my "\python27\" directory called 'pydoc.ps1'. I can then call pydoc as intended...

ie.
c:> pydoc raw_input

code for 'pydoc.psi':

foreach ($i in $args)
    {python \python27\lib\pydoc.py $i}