I installed pep257 0.3.2 using pip with pip install pep257, but there is noexecutable in my C:\Python33\Scripts path.
pip install pep257
There is a Python script named pep257 (no extension) in the folder but Windows does not know run that via console. I had added .py to my PATHEXT env long ago which means entering pep257 into a shell should find it (e.g. subprocess.Popen("pep257", shell=True), so I copied the file to another one with that extension. Now my system can find the file but it fails to execute because import pep257 tries to import this very file and searches for main within, which is obviously not there.
Because of that and the shell restriction all other packages bundle an .exe that can always be found and pep257 needs one too.
Having this problem to. Is there a dev who can comment on this?
Is there another way to get this working on windows?
I just found flake8-docstrings. It's an pep257 extension for flake8 which has a windows executable when installed with pip.
What versions of pip are you using @FichteFoll and @robkorv? Also what versions of setuptools do both of you have installed?
pip 1.3.1 from c:\python33\lib\site-packages\pip-1.3.1-py3.3.egg (python 3.3)
@robkorv, I've just noticed that all .exe files in the Scripts folder are exactly the same, so I suppose they use their filename to find the appropriate python script file. In fact, you only have to copy some exe file from there, e.g. pip.exe, as pep257.exe and rename/copy the pep257 script to pep257-script.py. Then it works.
@FichteFoll I would upgrade pip anyway. The latest version is 1.5.6 and I suspect it may help. My first concern, was that pep257 was uploading wheels to PyPI but having just checked, they aren't so that rules out one possible problem
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.
C:\>pip install pip --upgrade
Installing pip3.3-script.py script to c:\Python33\Scripts
Installing pip3.3.exe script to c:\Python33\Scripts
Installing pip3-script.py script to c:\Python33\Scripts
Installing pip3.exe script to c:\Python33\Scripts
Installing pip-script.py script to c:\Python33\Scripts
Installing pip.exe script to c:\Python33\Scripts
pip 1.5.6 from c:\Python33\lib\site-packages (python 3.3)
C:\>pip uninstall pep257
Proceed (y/n)? y
Successfully uninstalled pep257
C:\>pip install pep257
Running setup.py (path:c:\users\fichte\appdata\local\temp\pip_build_fichte\pep257\setup.py) egg_info for package pep257
Installing collected packages: pep257
Running setup.py install for pep257
Successfully installed pep257
I included an excerpt of pip's log to show that it installs its executables. In fact, every package with files inside Scripts has an executable there, except for pep257 - and this was ofc before I upgraded pip.
Edit: Almost forgot, but after all this no executable has been created.
I'm on pip 1.5.6 from C:\Python34\lib\site-packages (python 3.4), setuptools 2.1 and Python 3.4.1
pip 1.5.6 from C:\Python34\lib\site-packages (python 3.4)
Thank y'all. Time to double check pep257's setup.py.
So pep257 uses distutils + the scripts option in it's setup.py. pep8 by comparison uses setuptools + the entry_points option (which I don't think distutils supports). distutils has also been deprecated and merged into setuptools proper. pep257 should switch over, I'll send a PR soon that you all can try out.
Today @fnielsen suggested a workaround; you can call pep257 as following on Windows:
python -m pep257
@sigmavirus24, correct me if I'm wrong, but I think it is distribute rather than distutils that has been merged into setuptools.
@myint correct. Sorry about that. :)
I also just found this bug. Is there a fix on the horizon?
You can use flake8 with flake8-docstrings on Windows.