No matter which package I"m trying to install, I get this error:
error: invalid command "egg_info"
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in c:userszorpixappdatalocal emppip-build-Zorpixvirtualenv
Storing complete log in C:Usersorpixpippip.log
I saw this question, but the answer doesn"t work for me. I can install the distribute package, which so far is the only package I can install, but it doesn"t fix the problem, as the egg_info error returns as soon as I try to install another package. I"m getting pretty frustrated with this, as I can"t find anything helpful anywhere. I"ve also had django and pip and everything installed before, but I had to reinstall it all, and now it"s not working... Any help would be appreciated.
Here is the log it says it stored:
------------------------------------------------------------
C:Python27Scriptspip-script.py run on 07/26/13 11:30:42
Downloading/unpacking virtualenv
Getting page https://pypi.python.org/simple/virtualenv/
URLs to search for versions for virtualenv:
* https://pypi.python.org/simple/virtualenv/
Analyzing links from page https://pypi.python.org/simple/virtualenv/
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.3.tar.gz#md5=36b766604542f2c34d8dffdb21ba14a9 (from https://pypi.python.org/simple/virtualenv/), version: 1.3
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.6.2.tar.gz#md5=e948af53ad41ca2718c4034484fcd694 (from https://pypi.python.org/simple/virtualenv/), version: 1.6.2
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.7.tar.gz#md5=dcc105e5a3907a9dcaa978f813a4f526 (from https://pypi.python.org/simple/virtualenv/), version: 1.7
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-1.3.2-py2.4.egg#md5=6913c03f02167fe4ac32add76c3edeb7 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.9.tar.gz#md5=c49067cab242b5ff8c7b681a5a99533a (from https://pypi.python.org/simple/virtualenv/), version: 1.4.9
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-0.8.tar.gz#md5=88c187a93a78c4c9bd54eef9ef0e0f03 (from https://pypi.python.org/simple/virtualenv/), version: 0.8
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-0.9.1-py2.4.egg#md5=f595300f14597da25feabaececcf62a2 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.6.3.tar.gz#md5=73a69184e35f1e2c2f9016c889c4d26a (from https://pypi.python.org/simple/virtualenv/), version: 1.6.3
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-0.8.3.tar.gz#md5=d635fb7de359ff603a1fc395933724d1 (from https://pypi.python.org/simple/virtualenv/), version: 0.8.3
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.8.3.tar.gz#md5=d42ab84b1b38258f2a57365841186f71 (from https://pypi.python.org/simple/virtualenv/), version: 1.8.3
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.3.1.tar.gz#md5=e70ed86cc3823f0b622e80e035b59297 (from https://pypi.python.org/simple/virtualenv/), version: 1.3.1
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.5.tar.gz#md5=a8c756de9661323b1f95311e79f8a5f3 (from https://pypi.python.org/simple/virtualenv/), version: 1.5
Skipping link https://pypi.python.org/packages/2.6/v/virtualenv/virtualenv-1.3.4-py2.6.egg#md5=f5cf3d4dba3a224351fb5f90f59dae1a (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-1.3-py2.4.egg#md5=ff872f8b8dcb3dc76d9c2793afc9b1a5 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-0.8.3-py2.4.egg#md5=fbcb29d72e35ee93d80738d46e69d350 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-1.3.4-py2.5.egg#md5=2fd8f371cc83c2a49009e5fe51fcd9c9 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.0.tar.gz#md5=fb86aabdfc2033612b936cf08ad811ec (from https://pypi.python.org/simple/virtualenv/), version: 1.0
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-0.8.3-py2.5.egg#md5=7592e9dd19388a037768840caac00255 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-1.3.1-py2.5.egg#md5=f042320f7301a77311b876ed55d2a635 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.7.1.tar.gz#md5=1a07359ff6e5dbfaefa6381516293b47 (from https://pypi.python.org/simple/virtualenv/), version: 1.7.1
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-1.3.3-py2.4.egg#md5=9cd8f513ba25e09be54ead5b1325ad3e (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-1.2-py2.5.egg#md5=0043570e1c16af8d3c9fa1e99bce012b (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.3.3.tar.gz#md5=28e2955aed4ffc4dc3df02dc632b5c42 (from https://pypi.python.org/simple/virtualenv/), version: 1.3.3
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-0.8.1-py2.4.egg#md5=fa8831295f1073151876375c4567f5cd (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.7.1.1.tar.gz#md5=e06efff3c3dd5f88758dde29e108bfdd (from https://pypi.python.org/simple/virtualenv/), version: 1.7.1.1
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.tar.gz#md5=ef70dc53c648f4253335351c65b5740f (from https://pypi.python.org/simple/virtualenv/), version: 1.4
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4rc1.tar.gz#md5=fb62a93b054e877e6a6c92f7dcd0b6ae (from https://pypi.python.org/simple/virtualenv/), version: 1.4rc1
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-0.8.4.tar.gz#md5=30f053782cc29363927b848263ae9158 (from https://pypi.python.org/simple/virtualenv/), version: 0.8.4
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-0.9.2-py2.4.egg#md5=319b534ed28e2d31b124b1a76f42fbc7 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-0.9.2-py2.5.egg#md5=7a4d37d0c3f83f917d7a6556f31bb31d (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-0.8.2-py2.5.egg#md5=eedbc037902cd2010b055451641addcf (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.3.2.tar.gz#md5=a013d5a7d9aeddc16bee88604d6de636 (from https://pypi.python.org/simple/virtualenv/), version: 1.3.2
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-0.9.tar.gz#md5=17a52f8801cbeb6805f4a4650dc89468 (from https://pypi.python.org/simple/virtualenv/), version: 0.9
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-1.0-py2.5.egg#md5=e6881a6353543b0af8b116ed8ed2f6f6 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-0.9.2.tar.gz#md5=78b6e73600db0d5ed8c0e507f0f7d705 (from https://pypi.python.org/simple/virtualenv/), version: 0.9.2
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-0.8.1-py2.5.egg#md5=ad5869374196f7d533a9b649adfe9014 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.8.tar.gz#md5=74ded4025a56e538c1c8df6b9825a8b8 (from https://pypi.python.org/simple/virtualenv/), version: 1.4.8
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-0.9.1.tar.gz#md5=d9abf1dc9dcaf603c60840c582414f66 (from https://pypi.python.org/simple/virtualenv/), version: 0.9.1
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-1.3.4-py2.4.egg#md5=bd62418a72b7e09a637ef368b7b0101b (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.5.tar.gz#md5=d3c621dd9797789fef78442e336df63e (from https://pypi.python.org/simple/virtualenv/), version: 1.4.5
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.6.tar.gz#md5=b1c585e0bbe4fca56bfa0b34aff87bd9 (from https://pypi.python.org/simple/virtualenv/), version: 1.6
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-0.8.2.tar.gz#md5=241f157e92dd9052b5a4b43efcef8035 (from https://pypi.python.org/simple/virtualenv/), version: 0.8.2
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-1.3.1-py2.4.egg#md5=708cc5281dae7fdd8d996cdb55bef52d (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-0.8.2-py2.4.egg#md5=4a92b99c93026031b7298906bf126ccd (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.1.tar.gz#md5=6ab218532376c2a389ef4ea030ff96f2 (from https://pypi.python.org/simple/virtualenv/), version: 1.4.1
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-1.3.3-py2.5.egg#md5=fae350c941cd9eadf5e9a407c37a2e03 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.8.tar.gz#md5=fdab30066a1d731ca6fe22a4c23b9e80 (from https://pypi.python.org/simple/virtualenv/), version: 1.8
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.3.4.tar.gz#md5=77d675df104b90fceec749150bd5014f (from https://pypi.python.org/simple/virtualenv/), version: 1.3.4
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.2.tar.gz#md5=7b1a10f0e84dd945c9b006ace1e1bb16 (from https://pypi.python.org/simple/virtualenv/), version: 1.4.2
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-0.8.4-py2.4.egg#md5=6d2db4c08a9b8a7b59e1ab7731791381 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-0.9-py2.4.egg#md5=12b34ae909f578910c293ecfe7c793e3 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.6.tar.gz#md5=f576969d591a054132fe8c9165c2b3c3 (from https://pypi.python.org/simple/virtualenv/), version: 1.4.6
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-0.8.1.tar.gz#md5=5d7b4784f530bd8acf44b568776dbd3c (from https://pypi.python.org/simple/virtualenv/), version: 0.8.1
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.3.tar.gz#md5=2b639cee32d15fd049a49561957afe4b (from https://pypi.python.org/simple/virtualenv/), version: 1.4.3
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-0.8.4-py2.5.egg#md5=40300b786dad2e8380ef785c4998f421 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-1.0-py2.4.egg#md5=6199b281bf6e7370d896520eb3a968f8 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.2.tar.gz#md5=7ad454e52f025cad631d03331ade4aaf (from https://pypi.python.org/simple/virtualenv/), version: 1.2
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-1.2-py2.4.egg#md5=53ab95a286cc0382e503306bb0df9d49 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.5.2.tar.gz#md5=fbcefbd8520bb64bc24a560c6019a73c (from https://pypi.python.org/simple/virtualenv/), version: 1.5.2
Skipping link https://pypi.python.org/packages/2.4/v/virtualenv/virtualenv-1.1-py2.4.egg#md5=d9b0de14426957e30b2aa7015451aa43 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-1.4.7-py2.5.egg#md5=e1bb0e1cbc4e2df64dfdde6b0867ef29 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.8.2.tar.gz#md5=174ca075c6b1a42c685415692ec4ce2e (from https://pypi.python.org/simple/virtualenv/), version: 1.8.2
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.6.1.tar.gz#md5=1a475df2219457b6b4febb9fe595d915 (from https://pypi.python.org/simple/virtualenv/), version: 1.6.1
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.5.1.tar.gz#md5=3daa1f449d5d2ee03099484cecb1c2b7 (from https://pypi.python.org/simple/virtualenv/), version: 1.5.1
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.4.tar.gz#md5=94161ae1500cb3a8b003c0c394c9dbbd (from https://pypi.python.org/simple/virtualenv/), version: 1.4.4
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.7.tar.gz#md5=979a7adf8467df7df800a45debd2074f (from https://pypi.python.org/simple/virtualenv/), version: 1.4.7
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.7.2.tar.gz#md5=b5d63b05373a4344ae099a68875aae78 (from https://pypi.python.org/simple/virtualenv/), version: 1.7.2
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.8.4.tar.gz#md5=1c7e56a7f895b2e71558f96e365ee7a7 (from https://pypi.python.org/simple/virtualenv/), version: 1.8.4
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.7.1.2.tar.gz#md5=3be8a014c27340f48b56465f9109d9fa (from https://pypi.python.org/simple/virtualenv/), version: 1.7.1.2
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.9.tar.gz#md5=e03b76752b8ce7eee67c6298414cac79 (from https://pypi.python.org/simple/virtualenv/), version: 1.9
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.8.1.tar.gz#md5=3aebe32859aa4512e1e679834c10f7bf (from https://pypi.python.org/simple/virtualenv/), version: 1.8.1
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-0.9.1-py2.5.egg#md5=573b8bd74a7b9b207b5eede8db386953 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.1.tar.gz#md5=8931b66dbb799120583dd107aab2fa89 (from https://pypi.python.org/simple/virtualenv/), version: 1.1
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-1.3-py2.5.egg#md5=8102d251e3f1caf709722679a737f454 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-1.1-py2.5.egg#md5=1db8cdd823739c79330a138327239551 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.6.4.tar.gz#md5=1072b66d53c24e019a8f1304ac9d9fc5 (from https://pypi.python.org/simple/virtualenv/), version: 1.6.4
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-1.3.2-py2.5.egg#md5=f2cd2b10b8be8b57e74cb1830fc0b504 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Skipping link https://pypi.python.org/packages/2.5/v/virtualenv/virtualenv-0.9-py2.5.egg#md5=7c8e85680f1ede0844a496513366d7a5 (from https://pypi.python.org/simple/virtualenv/); unknown archive format: .egg
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.tar.gz#md5=9745c28256c70c76d36adb3767a00212 (from https://pypi.python.org/simple/virtualenv/), version: 1.10
Found link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.9.1.tar.gz#md5=07e09df0adfca0b2d487e39a4bf2270a (from https://pypi.python.org/simple/virtualenv/), version: 1.9.1
Ignoring link https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4rc1.tar.gz#md5=fb62a93b054e877e6a6c92f7dcd0b6ae (from https://pypi.python.org/simple/virtualenv/), version 1.4rc1 is a pre-release (use --pre to allow).
Using version 1.10 (newest of versions: 1.10, 1.9.1, 1.9, 1.8.4, 1.8.3, 1.8.2, 1.8.1, 1.8, 1.7.2, 1.7.1.2, 1.7.1.1, 1.7.1, 1.7, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6, 1.5.2, 1.5.1, 1.5, 1.4.9, 1.4.8, 1.4.7, 1.4.6, 1.4.5, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3, 1.2, 1.1, 1.0, 0.9.2, 0.9.1, 0.9, 0.8.4, 0.8.3, 0.8.2, 0.8.1, 0.8)
Downloading from URL https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.10.tar.gz#md5=9745c28256c70c76d36adb3767a00212 (from https://pypi.python.org/simple/virtualenv/)
Running setup.py egg_info for package virtualenv
C:Python27libdistutilsdist.py:267: UserWarning: Unknown distribution option: "entry_points"
warnings.warn(msg)
C:Python27libdistutilsdist.py:267: UserWarning: Unknown distribution option: "zip_safe"
warnings.warn(msg)
C:Python27libdistutilsdist.py:267: UserWarning: Unknown distribution option: "test_suite"
warnings.warn(msg)
C:Python27libdistutilsdist.py:267: UserWarning: Unknown distribution option: "tests_require"
warnings.warn(msg)
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command "egg_info"
Complete output from command python setup.py egg_info:
C:Python27libdistutilsdist.py:267: UserWarning: Unknown distribution option: "entry_points"
warnings.warn(msg)
C:Python27libdistutilsdist.py:267: UserWarning: Unknown distribution option: "zip_safe"
warnings.warn(msg)
C:Python27libdistutilsdist.py:267: UserWarning: Unknown distribution option: "test_suite"
warnings.warn(msg)
C:Python27libdistutilsdist.py:267: UserWarning: Unknown distribution option: "tests_require"
warnings.warn(msg)
usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: -c --help [cmd1 cmd2 ...]
or: -c --help-commands
or: -c cmd --help
error: invalid command "egg_info"
----------------------------------------
Cleaning up...
Removing temporary dir c:usersjoeyappdatalocal emppip-build-Joey...
Command python setup.py egg_info failed with error code 1 in c:usersjoeyappdatalocal emppip-build-Joeyvirtualenv
Exception information:
Traceback (most recent call last):
File "C:Python27libsite-packagespipasecommand.py", line 134, in main
status = self.run(options, args)
File "C:Python27libsite-packagespipcommandsinstall.py", line 236, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "C:Python27libsite-packagespip
eq.py", line 1124, in prepare_files
req_to_install.run_egg_info()
File "C:Python27libsite-packagespip
eq.py", line 257, in run_egg_info
command_desc="python setup.py egg_info")
File "C:Python27libsite-packagespiputil.py", line 670, in call_subprocess
% (command_desc, proc.returncode, cwd))
InstallationError: Command python setup.py egg_info failed with error code 1 in c:usersjoeyappdatalocal emppip-build-Joeyvirtualenv
EDIT: Not sure what I did, but now I"m getting this error:
ImportError: No module named setuptools.command
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in c:usersjoeyappdatalocal emppip-build-JoeyDjango
Storing complete log in C:UsersJoeypippip.log
What is this setuptools that I"m missing?
Can"t install via pip because of egg_info error _files: Questions
How do I list all files of a directory?
5 answers
How can I list all files of a directory in Python and add them to a list
?
Answer #1
os.listdir()
will get you everything that"s in a directory - files and directories.
If you want just files, you could either filter this down using os.path
:
from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
or you could use os.walk()
which will yield two lists for each directory it visits - splitting into files and dirs for you. If you only want the top directory you can break the first time it yields
from os import walk
f = []
for (dirpath, dirnames, filenames) in walk(mypath):
f.extend(filenames)
break
or, shorter:
from os import walk
filenames = next(walk(mypath), (None, None, []))[2] # [] if no file
Answer #2
I prefer using the glob
module, as it does pattern matching and expansion.
import glob
print(glob.glob("/home/adam/*"))
It does pattern matching intuitively
import glob
# All files ending with .txt
print(glob.glob("/home/adam/*.txt"))
# All files ending with .txt with depth of 2 folder
print(glob.glob("/home/adam/*/*.txt"))
It will return a list with the queried files:
["/home/adam/file1.txt", "/home/adam/file2.txt", .... ]
Answer #3
os.listdir()
- list in the current directory
With listdir in os module you get the files and the folders in the current dir
import os
arr = os.listdir()
print(arr)
>>> ["$RECYCLE.BIN", "work.txt", "3ebooks.txt", "documents"]
Looking in a directory
arr = os.listdir("c:\files")
glob
from glob
with glob you can specify a type of file to list like this
import glob
txtfiles = []
for file in glob.glob("*.txt"):
txtfiles.append(file)
glob
in a list comprehension
mylist = [f for f in glob.glob("*.txt")]
get the full path of only files in the current directory
import os
from os import listdir
from os.path import isfile, join
cwd = os.getcwd()
onlyfiles = [os.path.join(cwd, f) for f in os.listdir(cwd) if
os.path.isfile(os.path.join(cwd, f))]
print(onlyfiles)
["G:\getfilesname\getfilesname.py", "G:\getfilesname\example.txt"]
Getting the full path name with
os.path.abspath
You get the full path in return
import os
files_path = [os.path.abspath(x) for x in os.listdir()]
print(files_path)
["F:\documentiapplications.txt", "F:\documenticollections.txt"]
Walk: going through sub directories
os.walk returns the root, the directories list and the files list, that is why I unpacked them in r, d, f in the for loop; it, then, looks for other files and directories in the subfolders of the root and so on until there are no subfolders.
import os
# Getting the current work directory (cwd)
thisdir = os.getcwd()
# r=root, d=directories, f = files
for r, d, f in os.walk(thisdir):
for file in f:
if file.endswith(".docx"):
print(os.path.join(r, file))
os.listdir()
: get files in the current directory (Python 2)
In Python 2, if you want the list of the files in the current directory, you have to give the argument as "." or os.getcwd() in the os.listdir method.
import os
arr = os.listdir(".")
print(arr)
>>> ["$RECYCLE.BIN", "work.txt", "3ebooks.txt", "documents"]
To go up in the directory tree
# Method 1
x = os.listdir("..")
# Method 2
x= os.listdir("/")
Get files:
os.listdir()
in a particular directory (Python 2 and 3)
import os
arr = os.listdir("F:\python")
print(arr)
>>> ["$RECYCLE.BIN", "work.txt", "3ebooks.txt", "documents"]
Get files of a particular subdirectory with
os.listdir()
import os
x = os.listdir("./content")
os.walk(".")
- current directory
import os
arr = next(os.walk("."))[2]
print(arr)
>>> ["5bs_Turismo1.pdf", "5bs_Turismo1.pptx", "esperienza.txt"]
next(os.walk("."))
andos.path.join("dir", "file")
import os
arr = []
for d,r,f in next(os.walk("F:\_python")):
for file in f:
arr.append(os.path.join(r,file))
for f in arr:
print(files)
>>> F:\_python\dict_class.py
>>> F:\_python\programmi.txt
next(os.walk("F:\")
- get the full path - list comprehension
[os.path.join(r,file) for r,d,f in next(os.walk("F:\_python")) for file in f]
>>> ["F:\_python\dict_class.py", "F:\_python\programmi.txt"]
os.walk
- get full path - all files in sub dirs**
x = [os.path.join(r,file) for r,d,f in os.walk("F:\_python") for file in f]
print(x)
>>> ["F:\_python\dict.py", "F:\_python\progr.txt", "F:\_python\readl.py"]
os.listdir()
- get only txt files
arr_txt = [x for x in os.listdir() if x.endswith(".txt")]
print(arr_txt)
>>> ["work.txt", "3ebooks.txt"]
Using
glob
to get the full path of the files
If I should need the absolute path of the files:
from path import path
from glob import glob
x = [path(f).abspath() for f in glob("F:\*.txt")]
for f in x:
print(f)
>>> F:acquistionline.txt
>>> F:acquisti_2018.txt
>>> F:ootstrap_jquery_ecc.txt
Using
os.path.isfile
to avoid directories in the list
import os.path
listOfFiles = [f for f in os.listdir() if os.path.isfile(f)]
print(listOfFiles)
>>> ["a simple game.py", "data.txt", "decorator.py"]
Using
pathlib
from Python 3.4
import pathlib
flist = []
for p in pathlib.Path(".").iterdir():
if p.is_file():
print(p)
flist.append(p)
>>> error.PNG
>>> exemaker.bat
>>> guiprova.mp3
>>> setup.py
>>> speak_gui2.py
>>> thumb.PNG
With list comprehension
:
flist = [p for p in pathlib.Path(".").iterdir() if p.is_file()]
Alternatively, use pathlib.Path()
instead of pathlib.Path(".")
Use glob method in pathlib.Path()
import pathlib
py = pathlib.Path().glob("*.py")
for file in py:
print(file)
>>> stack_overflow_list.py
>>> stack_overflow_list_tkinter.py
Get all and only files with os.walk
import os
x = [i[2] for i in os.walk(".")]
y=[]
for t in x:
for f in t:
y.append(f)
print(y)
>>> ["append_to_list.py", "data.txt", "data1.txt", "data2.txt", "data_180617", "os_walk.py", "READ2.py", "read_data.py", "somma_defaltdic.py", "substitute_words.py", "sum_data.py", "data.txt", "data1.txt", "data_180617"]
Get only files with next and walk in a directory
import os
x = next(os.walk("F://python"))[2]
print(x)
>>> ["calculator.bat","calculator.py"]
Get only directories with next and walk in a directory
import os
next(os.walk("F://python"))[1] # for the current dir use (".")
>>> ["python3","others"]
Get all the subdir names with
walk
for r,d,f in os.walk("F:\_python"):
for dirs in d:
print(dirs)
>>> .vscode
>>> pyexcel
>>> pyschool.py
>>> subtitles
>>> _metaprogramming
>>> .ipynb_checkpoints
os.scandir()
from Python 3.5 and greater
import os
x = [f.name for f in os.scandir() if f.is_file()]
print(x)
>>> ["calculator.bat","calculator.py"]
# Another example with scandir (a little variation from docs.python.org)
# This one is more efficient than os.listdir.
# In this case, it shows the files only in the current directory
# where the script is executed.
import os
with os.scandir() as i:
for entry in i:
if entry.is_file():
print(entry.name)
>>> ebookmaker.py
>>> error.PNG
>>> exemaker.bat
>>> guiprova.mp3
>>> setup.py
>>> speakgui4.py
>>> speak_gui2.py
>>> speak_gui3.py
>>> thumb.PNG
Examples:
Ex. 1: How many files are there in the subdirectories?
In this example, we look for the number of files that are included in all the directory and its subdirectories.
import os
def count(dir, counter=0):
"returns number of files in dir and subdirs"
for pack in os.walk(dir):
for f in pack[2]:
counter += 1
return dir + " : " + str(counter) + "files"
print(count("F:\python"))
>>> "F:\python" : 12057 files"
Ex.2: How to copy all files from a directory to another?
A script to make order in your computer finding all files of a type (default: pptx) and copying them in a new folder.
import os
import shutil
from path import path
destination = "F:\file_copied"
# os.makedirs(destination)
def copyfile(dir, filetype="pptx", counter=0):
"Searches for pptx (or other - pptx is the default) files and copies them"
for pack in os.walk(dir):
for f in pack[2]:
if f.endswith(filetype):
fullpath = pack[0] + "\" + f
print(fullpath)
shutil.copy(fullpath, destination)
counter += 1
if counter > 0:
print("-" * 30)
print(" ==> Found in: `" + dir + "` : " + str(counter) + " files
")
for dir in os.listdir():
"searches for folders that starts with `_`"
if dir[0] == "_":
# copyfile(dir, filetype="pdf")
copyfile(dir, filetype="txt")
>>> _compiti18Compito Contabilità 1conti.txt
>>> _compiti18Compito Contabilità 1modula4.txt
>>> _compiti18Compito Contabilità 1moduloa4.txt
>>> ------------------------
>>> ==> Found in: `_compiti18` : 3 files
Ex. 3: How to get all the files in a txt file
In case you want to create a txt file with all the file names:
import os
mylist = ""
with open("filelist.txt", "w", encoding="utf-8") as file:
for eachfile in os.listdir():
mylist += eachfile + "
"
file.write(mylist)
Example: txt with all the files of an hard drive
"""
We are going to save a txt file with all the files in your directory.
We will use the function walk()
"""
import os
# see all the methods of os
# print(*dir(os), sep=", ")
listafile = []
percorso = []
with open("lista_file.txt", "w", encoding="utf-8") as testo:
for root, dirs, files in os.walk("D:\"):
for file in files:
listafile.append(file)
percorso.append(root + "\" + file)
testo.write(file + "
")
listafile.sort()
print("N. of files", len(listafile))
with open("lista_file_ordinata.txt", "w", encoding="utf-8") as testo_ordinato:
for file in listafile:
testo_ordinato.write(file + "
")
with open("percorso.txt", "w", encoding="utf-8") as file_percorso:
for file in percorso:
file_percorso.write(file + "
")
os.system("lista_file.txt")
os.system("lista_file_ordinata.txt")
os.system("percorso.txt")
All the file of C: in one text file
This is a shorter version of the previous code. Change the folder where to start finding the files if you need to start from another position. This code generate a 50 mb on text file on my computer with something less then 500.000 lines with files with the complete path.
import os
with open("file.txt", "w", encoding="utf-8") as filewrite:
for r, d, f in os.walk("C:\"):
for file in f:
filewrite.write(f"{r + file}
")
How to write a file with all paths in a folder of a type
With this function you can create a txt file that will have the name of a type of file that you look for (ex. pngfile.txt) with all the full path of all the files of that type. It can be useful sometimes, I think.
import os
def searchfiles(extension=".ttf", folder="H:\"):
"Create a txt file with all the file of a type"
with open(extension[1:] + "file.txt", "w", encoding="utf-8") as filewrite:
for r, d, f in os.walk(folder):
for file in f:
if file.endswith(extension):
filewrite.write(f"{r + file}
")
# looking for png file (fonts) in the hard disk H:
searchfiles(".png", "H:\")
>>> H:4bs_18Dolphins5.png
>>> H:4bs_18Dolphins6.png
>>> H:4bs_18Dolphins7.png
>>> H:5_18marketing htmlassetsimageslogo2.png
>>> H:7z001.png
>>> H:7z002.png
(New) Find all files and open them with tkinter GUI
I just wanted to add in this 2019 a little app to search for all files in a dir and be able to open them by doubleclicking on the name of the file in the list.
import tkinter as tk
import os
def searchfiles(extension=".txt", folder="H:\"):
"insert all files in the listbox"
for r, d, f in os.walk(folder):
for file in f:
if file.endswith(extension):
lb.insert(0, r + "\" + file)
def open_file():
os.startfile(lb.get(lb.curselection()[0]))
root = tk.Tk()
root.geometry("400x400")
bt = tk.Button(root, text="Search", command=lambda:searchfiles(".png", "H:\"))
bt.pack()
lb = tk.Listbox(root)
lb.pack(fill="both", expand=1)
lb.bind("<Double-Button>", lambda x: open_file())
root.mainloop()