
GITHUB . COM {
}
Detected CMS Systems:
- Wordpress (2 occurrences)
Title:
scandir as dependency: UnicodeDecodeError · Issue #953 · pypa/setuptools
Description:
If I set scandir as a dependency, then installation on a system that does not already have scandir fails with UnicodeDecodeError. Versions OS Ubuntu 16.04 Python 2.7.12 setuptools 34.1.0 pip 9.0.1 Steps to reproduce Start with a clean en...
Website Age:
17 years and 8 months (reg. 2007-10-09).
Matching Content Categories {📚}
- Video & Online Content
- Technology & Computing
- Personal Finance
Content Management System {📝}
What CMS is github.com built with?
Github.com relies on WORDPRESS.
Traffic Estimate {📈}
What is the average monthly size of github.com audience?
🚀🌠 Tremendous Traffic: 10M - 20M visitors per month
Based on our best estimate, this website will receive around 10,653,974 visitors per month in the current month.
check SE Ranking
check Ahrefs
check Similarweb
check Ubersuggest
check Semrush
How Does Github.com Make Money? {💸}
Subscription Packages {💳}
We've located a dedicated page on github.com that might include details about subscription plans or recurring payments. We identified it based on the word pricing in one of its internal links. Below, you'll find additional estimates for its monthly recurring revenues.How Much Does Github.com Make? {💰}
Subscription Packages {💳}
Prices on github.com are in US Dollars ($).
They range from $4.00/month to $21.00/month.
We estimate that the site has approximately 5,316,204 paying customers.
The estimated monthly recurring revenue (MRR) is $22,328,057.
The estimated annual recurring revenues (ARR) are $267,936,687.
Wordpress Themes and Plugins {🎨}
What WordPress theme does this site use?
It is strange but we were not able to detect any theme on the page.
What WordPress plugins does this website use?
It is strange but we were not able to detect any plugins on the page.
Keywords {🔍}
file, line, scandir, install, rmtree, usrlibpythonshutilpy, ignoreerrors, onerror, python, creating, writing, usrlocallibpythondistpackagessetuptoolscommandeasyinstallpy, rmtreefullname, jaraco, unicodedecodeerror, installed, running, buildbdistlinuxxeggegginfo, copying, setuptools, pip, setuppy, ansix, return, vagrantvagrant, sign, issue, import, command, failregginfosourcestxt, buildbdistlinuxxegg, encodable, skipping, join, ascii, works, commented, projects, dependency, jonatanblue, set, fails, setup, failr, run, manifest, dist, adding, processing, tmpdir,
Topics {✒️}
4/egg-dist-tmp-3cregp 'test/testdir/subdir/unicod� bdist_egg --dist-dir /tmp/easy_install-0rkxe4/scandir-1 linux-x86_64/egg/egg-info zip_safe flag linux-x86_64/egg/egg-info copying failr gz writing /tmp/easy_install-0rkxe4/scandir-1 linux-x86_64/egg creating build/bdist md' 'test/testdir/subdir/unicod� linux-x86_64 creating build/bdist 7/dist-packages/setuptools/command/easy_install 7/dist-packages/setuptools/command/install org/simple/scandir/ downloading https egg-info writing requirements 7/dist-packages/pkg_resources/__init__ org/packages/95/40/ddbcd295ee58d5c1126645890bcf87853e4075547308884e4f8ada27f195/scandir-1 /usr/local/lib/python2 egg copying failr-0 linux-x86_64/egg' cfg running scandir-1 7/dist-packages/failr-0 egg-info/requires egg-info/top_level egg-info/dependency_links egg-info/sources local linux workstation txt writing failr 7/dist-packages/scandir-1 adding 'build/bdist /usr/lib/python2 removing 'build/bdist txt writing dependency_links scandir reading https egg processing dependencies py install command linux-x86_64-2 7-linux-x86_64 run install command pip install scandir analyzing archive contents decode byte 0xc6 comment metadata assignees install command jaraco closed attempt finds scandir personal information scandir build/bdist install python-pip 'build/lib labels projects projects milestone install scandir
Payment Methods {📊}
- Braintree
Questions {❓}
- Already have an account?
Schema {🗺️}
DiscussionForumPosting:
context:https://schema.org
headline:scandir as dependency: UnicodeDecodeError
articleBody:If I set `scandir` as a dependency, then installation on a system that does not already have scandir fails with `UnicodeDecodeError`.
## Versions
- OS `Ubuntu 16.04`
- Python `2.7.12`
- setuptools `34.1.0`
- pip `9.0.1`
## Steps to reproduce
Start with a clean environment that does not already have scandir installed. I'm using the Dockerimage `ubuntu:16.04`, with the following system configuration:
```
apt-get update && apt-get install python-pip -y
pip install -U pip setuptools
```
Create a test project and a `setup.py` file:
```
from setuptools import setup
setup(
name = "failr",
version = "0.0.1",
install_requires = [
"scandir",
],
)
```
Run install command:
```
# python setup.py install
running install
running bdist_egg
running egg_info
creating failr.egg-info
writing requirements to failr.egg-info/requires.txt
writing failr.egg-info/PKG-INFO
writing top-level names to failr.egg-info/top_level.txt
writing dependency_links to failr.egg-info/dependency_links.txt
writing manifest file 'failr.egg-info/SOURCES.txt'
reading manifest file 'failr.egg-info/SOURCES.txt'
writing manifest file 'failr.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
warning: install_lib: 'build/lib.linux-x86_64-2.7' does not exist -- no Python modules to install
creating build
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying failr.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying failr.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying failr.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying failr.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying failr.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/failr-0.0.1-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing failr-0.0.1-py2.7.egg
Copying failr-0.0.1-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Adding failr 0.0.1 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/failr-0.0.1-py2.7.egg
Processing dependencies for failr==0.0.1
Searching for scandir
Reading https://pypi.python.org/simple/scandir/
Downloading https://pypi.python.org/packages/95/40/ddbcd295ee58d5c1126645890bcf87853e4075547308884e4f8ada27f195/scandir-1.4.tar.gz#md5=bdac33e1548a18598da6c141c84af407
Best match: scandir 1.4
Processing scandir-1.4.tar.gz
Writing /tmp/easy_install-0rkxe4/scandir-1.4/setup.cfg
Running scandir-1.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-0rkxe4/scandir-1.4/egg-dist-tmp-3CReGP
'test/testdir/subdir/unicodƏ.txt' not ANSI_X3.4-1968 encodable -- skipping
'test/testdir/subdir/unidirƏ/file1.txt' not ANSI_X3.4-1968 encodable -- skipping
warning: no files found matching 'README.md'
'test/testdir/subdir/unicodƏ.txt' not ANSI_X3.4-1968 encodable -- skipping
'test/testdir/subdir/unidirƏ/file1.txt' not ANSI_X3.4-1968 encodable -- skipping
zip_safe flag not set; analyzing archive contents...
Moving scandir-1.4-py2.7-linux-x86_64.egg to /usr/local/lib/python2.7/dist-packages
Adding scandir 1.4 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/scandir-1.4-py2.7-linux-x86_64.egg
Traceback (most recent call last):
File "setup.py", line 7, in <module>
"scandir",
File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install.py", line 117, in do_egg_install
cmd.run()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 411, in run
self.easy_install(spec, not self.no_deps)
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 655, in easy_install
return self.install_item(None, spec, tmpdir, deps, True)
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 702, in install_item
self.process_distribution(spec, dist, deps)
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 747, in process_distribution
[requirement], self.local_index, self.easy_install
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 851, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1123, in best_match
return self.obtain(req, installer)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1135, in obtain
return installer(requirement)
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 674, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
self.gen.next()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 638, in _tmpdir
os.path.exists(tmpdir) and rmtree(rmtree_safe(tmpdir))
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 2232, in rmtree
return shutil.rmtree(path, ignore_errors, onerror)
File "/usr/lib/python2.7/shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "/usr/lib/python2.7/shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "/usr/lib/python2.7/shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "/usr/lib/python2.7/shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "/usr/lib/python2.7/shutil.py", line 241, in rmtree
fullname = os.path.join(path, name)
File "/usr/lib/python2.7/posixpath.py", line 73, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc6 in position 7: ordinal not in range(128)
```
## Expected outcome
Package is installed.
## Actual outcome
Installation fails with `UnicodeDecodeError` (see log above).
## Useful information
If I re-run the setup.py install command above a second time, it works.
If I install scandir with pip (`pip install scandir`) before running the install command above, it works fine on the first attempt.
The character referenced in the error comes from the file name `unicodƏ.txt` (also seen in the log). When the `join()` function in `posixpath.py` tries to treat it as ASCII to convert to unicode it fails, because `Ə` is not an ASCII character.
author:
url:https://github.com/jonatanblue
type:Person
name:jonatanblue
datePublished:2017-02-01T08:11:21.000Z
interactionStatistic:
type:InteractionCounter
interactionType:https://schema.org/CommentAction
userInteractionCount:4
url:https://github.com/953/setuptools/issues/953
context:https://schema.org
headline:scandir as dependency: UnicodeDecodeError
articleBody:If I set `scandir` as a dependency, then installation on a system that does not already have scandir fails with `UnicodeDecodeError`.
## Versions
- OS `Ubuntu 16.04`
- Python `2.7.12`
- setuptools `34.1.0`
- pip `9.0.1`
## Steps to reproduce
Start with a clean environment that does not already have scandir installed. I'm using the Dockerimage `ubuntu:16.04`, with the following system configuration:
```
apt-get update && apt-get install python-pip -y
pip install -U pip setuptools
```
Create a test project and a `setup.py` file:
```
from setuptools import setup
setup(
name = "failr",
version = "0.0.1",
install_requires = [
"scandir",
],
)
```
Run install command:
```
# python setup.py install
running install
running bdist_egg
running egg_info
creating failr.egg-info
writing requirements to failr.egg-info/requires.txt
writing failr.egg-info/PKG-INFO
writing top-level names to failr.egg-info/top_level.txt
writing dependency_links to failr.egg-info/dependency_links.txt
writing manifest file 'failr.egg-info/SOURCES.txt'
reading manifest file 'failr.egg-info/SOURCES.txt'
writing manifest file 'failr.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
warning: install_lib: 'build/lib.linux-x86_64-2.7' does not exist -- no Python modules to install
creating build
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying failr.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying failr.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying failr.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying failr.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying failr.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/failr-0.0.1-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing failr-0.0.1-py2.7.egg
Copying failr-0.0.1-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Adding failr 0.0.1 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/failr-0.0.1-py2.7.egg
Processing dependencies for failr==0.0.1
Searching for scandir
Reading https://pypi.python.org/simple/scandir/
Downloading https://pypi.python.org/packages/95/40/ddbcd295ee58d5c1126645890bcf87853e4075547308884e4f8ada27f195/scandir-1.4.tar.gz#md5=bdac33e1548a18598da6c141c84af407
Best match: scandir 1.4
Processing scandir-1.4.tar.gz
Writing /tmp/easy_install-0rkxe4/scandir-1.4/setup.cfg
Running scandir-1.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-0rkxe4/scandir-1.4/egg-dist-tmp-3CReGP
'test/testdir/subdir/unicodƏ.txt' not ANSI_X3.4-1968 encodable -- skipping
'test/testdir/subdir/unidirƏ/file1.txt' not ANSI_X3.4-1968 encodable -- skipping
warning: no files found matching 'README.md'
'test/testdir/subdir/unicodƏ.txt' not ANSI_X3.4-1968 encodable -- skipping
'test/testdir/subdir/unidirƏ/file1.txt' not ANSI_X3.4-1968 encodable -- skipping
zip_safe flag not set; analyzing archive contents...
Moving scandir-1.4-py2.7-linux-x86_64.egg to /usr/local/lib/python2.7/dist-packages
Adding scandir 1.4 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/scandir-1.4-py2.7-linux-x86_64.egg
Traceback (most recent call last):
File "setup.py", line 7, in <module>
"scandir",
File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install.py", line 117, in do_egg_install
cmd.run()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 411, in run
self.easy_install(spec, not self.no_deps)
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 655, in easy_install
return self.install_item(None, spec, tmpdir, deps, True)
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 702, in install_item
self.process_distribution(spec, dist, deps)
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 747, in process_distribution
[requirement], self.local_index, self.easy_install
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 851, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1123, in best_match
return self.obtain(req, installer)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 1135, in obtain
return installer(requirement)
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 674, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
self.gen.next()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 638, in _tmpdir
os.path.exists(tmpdir) and rmtree(rmtree_safe(tmpdir))
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 2232, in rmtree
return shutil.rmtree(path, ignore_errors, onerror)
File "/usr/lib/python2.7/shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "/usr/lib/python2.7/shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "/usr/lib/python2.7/shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "/usr/lib/python2.7/shutil.py", line 247, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "/usr/lib/python2.7/shutil.py", line 241, in rmtree
fullname = os.path.join(path, name)
File "/usr/lib/python2.7/posixpath.py", line 73, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc6 in position 7: ordinal not in range(128)
```
## Expected outcome
Package is installed.
## Actual outcome
Installation fails with `UnicodeDecodeError` (see log above).
## Useful information
If I re-run the setup.py install command above a second time, it works.
If I install scandir with pip (`pip install scandir`) before running the install command above, it works fine on the first attempt.
The character referenced in the error comes from the file name `unicodƏ.txt` (also seen in the log). When the `join()` function in `posixpath.py` tries to treat it as ASCII to convert to unicode it fails, because `Ə` is not an ASCII character.
author:
url:https://github.com/jonatanblue
type:Person
name:jonatanblue
datePublished:2017-02-01T08:11:21.000Z
interactionStatistic:
type:InteractionCounter
interactionType:https://schema.org/CommentAction
userInteractionCount:4
url:https://github.com/953/setuptools/issues/953
Person:
url:https://github.com/jonatanblue
name:jonatanblue
url:https://github.com/jonatanblue
name:jonatanblue
InteractionCounter:
interactionType:https://schema.org/CommentAction
userInteractionCount:4
interactionType:https://schema.org/CommentAction
userInteractionCount:4
External Links {🔗}(2)
Analytics and Tracking {📊}
- Site Verification - Google
Libraries {📚}
- Clipboard.js
- D3.js
- Lodash
Emails and Hosting {✉️}
Mail Servers:
- aspmx.l.google.com
- alt1.aspmx.l.google.com
- alt2.aspmx.l.google.com
- alt3.aspmx.l.google.com
- alt4.aspmx.l.google.com
Name Servers:
- dns1.p08.nsone.net
- dns2.p08.nsone.net
- dns3.p08.nsone.net
- dns4.p08.nsone.net
- ns-1283.awsdns-32.org
- ns-1707.awsdns-21.co.uk
- ns-421.awsdns-52.com
- ns-520.awsdns-01.net