Luigi: Issue when upgrading luigi version

Created on 6 Feb 2017  路  31Comments  路  Source: spotify/luigi

When upgrading to a version of luigi at or after 6e549ef, I receive the following when python setup.py install within an existing venv.

(venv) x@y:~/luigi$ python setup.py install
running install
running bdist_egg
running egg_info
writing requirements to luigi.egg-info/requires.txt
writing luigi.egg-info/PKG-INFO
writing top-level names to luigi.egg-info/top_level.txt
writing dependency_links to luigi.egg-info/dependency_links.txt
writing entry points to luigi.egg-info/entry_points.txt
reading manifest file 'luigi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'luigi.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
error: can't copy 'luigi/static/visualiser/lib/URI.js': doesn't exist or not a regular file

This commit added a file luigi/static/visualiser/lib/URI.js/1.18.2/URI.js . I'm suspicious there's a problem here.

Most helpful comment

See 2.6.1 for PyPi release including this bug fix.

All 31 comments

Oh, that's bad. Can @nmb10 take a look? I guess we should make so travis tests that the python setup.py install command always succeeds.

Hi, @Tarrasch . Will check that today.

Can't reproduce. @dlstadther what is your environment? (OS, python).

My try with latest luigi (commit = d21906, 'Fix required credential...'), fresh virtual env, debian 8, python 2.7.9

$  python setup.py install  

running install
running bdist_egg
running egg_info
writing requirements to luigi.egg-info/requires.txt
writing luigi.egg-info/PKG-INFO
writing top-level names to luigi.egg-info/top_level.txt
writing dependency_links to luigi.egg-info/dependency_links.txt
writing entry points to luigi.egg-info/entry_points.txt
reading manifest file 'luigi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'luigi.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/file.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/postgres.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/cmdline_parser.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/notifications.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/db_task_history.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/format.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/__main__.py -> build/bdist.linux-x86_64/egg/luigi
creating build/bdist.linux-x86_64/egg/luigi/templates
copying build/lib.linux-x86_64-2.7/luigi/templates/header.html -> build/bdist.linux-x86_64/egg/luigi/templates
copying build/lib.linux-x86_64-2.7/luigi/templates/layout.html -> build/bdist.linux-x86_64/egg/luigi/templates
copying build/lib.linux-x86_64-2.7/luigi/templates/history.html -> build/bdist.linux-x86_64/egg/luigi/templates
copying build/lib.linux-x86_64-2.7/luigi/templates/recent.html -> build/bdist.linux-x86_64/egg/luigi/templates
copying build/lib.linux-x86_64-2.7/luigi/templates/menu.html -> build/bdist.linux-x86_64/egg/luigi/templates
copying build/lib.linux-x86_64-2.7/luigi/templates/show.html -> build/bdist.linux-x86_64/egg/luigi/templates
copying build/lib.linux-x86_64-2.7/luigi/rpc.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/lock.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/util.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/scheduler.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/target.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/process.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/six.py -> build/bdist.linux-x86_64/egg/luigi
creating build/bdist.linux-x86_64/egg/luigi/static
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/index.html -> build/bdist.linux-x86_64/egg/luigi/static/visualiser
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/test.html -> build/bdist.linux-x86_64/egg/luigi/static/visualiser
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/js
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/js/graph.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/js
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/js/luigi.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/js
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/js/test
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/js/test/graph_test.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/js/test
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/js/visualiserApp.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/js
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/js/tipsy.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/js
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/fonts
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/fonts/glyphicons-halflings-regular.eot -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/fonts
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/fonts/glyphicons-halflings-regular.woff -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/fonts
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/fonts/fontawesome-webfont.woff2 -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/fonts
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/fonts/fontawesome-webfont.eot -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/fonts
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/fonts/fontawesome-webfont.ttf -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/fonts
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/fonts/glyphicons-halflings-regular.svg -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/fonts
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/fonts/fontawesome-webfont.svg -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/fonts
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/fonts/fontawesome-webfont.woff -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/fonts
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/fonts/glyphicons-halflings-regular.ttf -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/fonts
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/js
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/js/jquery-ui-1.10.3.custom.min.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/js
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-icons_888888_256x240.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-bg_flat_75_ffffff_40x100.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-icons_454545_256x240.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-bg_glass_75_e6e6e6_1x400.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-bg_flat_0_aaaaaa_40x100.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-icons_cd0a0a_256x240.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-bg_glass_95_fef1ec_1x400.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-bg_glass_55_fbf9ee_1x400.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-bg_glass_75_dadada_1x400.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-bg_glass_65_ffffff_1x400.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-icons_222222_256x240.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/images/ui-icons_2e83ff_256x240.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-ui/css/jquery-ui-1.10.3.custom.min.css -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/jquery-ui/css
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/datatables/images/sort_both.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/datatables/images/sort_asc_disabled.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/datatables/images/sort_asc.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/datatables/images/sort_desc_disabled.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables/images
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/datatables/images/sort_desc.png -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables/images
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables/js
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/datatables/js/jquery.dataTables.min.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables/js
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/datatables/css/jquery.dataTables.min.css -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/datatables/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/mustache.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/d3
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/d3/d3.min.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/d3
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/d3/dagre-d3.min.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/d3
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/AdminLTE
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/AdminLTE/js
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/AdminLTE/js/app.min.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/AdminLTE/js
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/AdminLTE/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/AdminLTE/css/skin-green-light.min.css -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/AdminLTE/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/AdminLTE/css/AdminLTE.min.css -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/AdminLTE/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/AdminLTE/css/skin-green.min.css -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/AdminLTE/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery-1.10.0.min.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/bootstrap3
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/bootstrap3/js
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/bootstrap3/js/bootstrap.min.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/bootstrap3/js
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/bootstrap3/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/bootstrap3/css/bootstrap-theme.min.css -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/bootstrap3/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/bootstrap3/css/bootstrap.min.css -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/bootstrap3/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/jquery.slimscroll.min.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/URI.js
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/URI.js/1.18.2
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/lib/URI.js/1.18.2/URI.js -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/lib/URI.js/1.18.2
creating build/bdist.linux-x86_64/egg/luigi/static/visualiser/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/css/tipsy.css -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/css
copying build/lib.linux-x86_64-2.7/luigi/static/visualiser/css/font-awesome.min.css -> build/bdist.linux-x86_64/egg/luigi/static/visualiser/css
copying build/lib.linux-x86_64-2.7/luigi/execution_summary.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/batch_notifier.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/parameter.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/configuration.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/task.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/retcodes.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/__init__.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/mock.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/date_interval.py -> build/bdist.linux-x86_64/egg/luigi
creating build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/sge.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/mssqldb.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/postgres.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/redis_store.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/ecs.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/mrrunner.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/esindex.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/hadoop_jar.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/scalding.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/target.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/pyspark_runner.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/external_program.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/hadoop.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/salesforce.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/sge_runner.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/gcs.py -> build/bdist.linux-x86_64/egg/luigi/contrib
creating build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/hdfs/error.py -> build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/hdfs/hadoopcli_clients.py -> build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/hdfs/format.py -> build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/hdfs/config.py -> build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/hdfs/clients.py -> build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/hdfs/target.py -> build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/hdfs/snakebite_client.py -> build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/hdfs/__init__.py -> build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/hdfs/webhdfs_client.py -> build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/hdfs/abstract_client.py -> build/bdist.linux-x86_64/egg/luigi/contrib/hdfs
copying build/lib.linux-x86_64-2.7/luigi/contrib/simulate.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/__init__.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/spark.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/webhdfs.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/dataproc.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/mysqldb.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/s3.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/bigquery.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/hive.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/bigquery_avro.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/rdbms.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/sparkey.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/sqla.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/redshift.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/pig.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/ssh.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/opener.py -> build/bdist.linux-x86_64/egg/luigi/contrib
copying build/lib.linux-x86_64-2.7/luigi/contrib/ftp.py -> build/bdist.linux-x86_64/egg/luigi/contrib
creating build/bdist.linux-x86_64/egg/luigi/tools
copying build/lib.linux-x86_64-2.7/luigi/tools/deps.py -> build/bdist.linux-x86_64/egg/luigi/tools
copying build/lib.linux-x86_64-2.7/luigi/tools/luigi_grep.py -> build/bdist.linux-x86_64/egg/luigi/tools
copying build/lib.linux-x86_64-2.7/luigi/tools/deps_tree.py -> build/bdist.linux-x86_64/egg/luigi/tools
copying build/lib.linux-x86_64-2.7/luigi/tools/range.py -> build/bdist.linux-x86_64/egg/luigi/tools
copying build/lib.linux-x86_64-2.7/luigi/tools/__init__.py -> build/bdist.linux-x86_64/egg/luigi/tools
copying build/lib.linux-x86_64-2.7/luigi/cmdline.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/local_target.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/s3.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/worker.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/interface.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/task_register.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/server.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/task_status.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/task_history.py -> build/bdist.linux-x86_64/egg/luigi
copying build/lib.linux-x86_64-2.7/luigi/event.py -> build/bdist.linux-x86_64/egg/luigi
byte-compiling build/bdist.linux-x86_64/egg/luigi/file.py to file.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/postgres.py to postgres.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/cmdline_parser.py to cmdline_parser.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/notifications.py to notifications.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/db_task_history.py to db_task_history.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/format.py to format.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/__main__.py to __main__.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/rpc.py to rpc.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/lock.py to lock.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/util.py to util.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/scheduler.py to scheduler.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/target.py to target.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/process.py to process.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/six.py to six.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/execution_summary.py to execution_summary.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/batch_notifier.py to batch_notifier.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/parameter.py to parameter.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/configuration.py to configuration.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/task.py to task.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/retcodes.py to retcodes.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/mock.py to mock.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/date_interval.py to date_interval.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/sge.py to sge.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/mssqldb.py to mssqldb.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/postgres.py to postgres.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/redis_store.py to redis_store.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/ecs.py to ecs.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/mrrunner.py to mrrunner.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/esindex.py to esindex.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hadoop_jar.py to hadoop_jar.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/scalding.py to scalding.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/target.py to target.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/pyspark_runner.py to pyspark_runner.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/external_program.py to external_program.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hadoop.py to hadoop.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/salesforce.py to salesforce.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/sge_runner.py to sge_runner.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/gcs.py to gcs.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hdfs/error.py to error.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hdfs/hadoopcli_clients.py to hadoopcli_clients.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hdfs/format.py to format.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hdfs/config.py to config.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hdfs/clients.py to clients.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hdfs/target.py to target.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hdfs/snakebite_client.py to snakebite_client.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hdfs/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hdfs/webhdfs_client.py to webhdfs_client.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hdfs/abstract_client.py to abstract_client.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/simulate.py to simulate.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/spark.py to spark.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/webhdfs.py to webhdfs.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/dataproc.py to dataproc.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/mysqldb.py to mysqldb.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/s3.py to s3.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/bigquery.py to bigquery.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/hive.py to hive.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/bigquery_avro.py to bigquery_avro.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/rdbms.py to rdbms.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/sparkey.py to sparkey.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/sqla.py to sqla.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/redshift.py to redshift.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/pig.py to pig.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/ssh.py to ssh.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/opener.py to opener.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/contrib/ftp.py to ftp.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/tools/deps.py to deps.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/tools/luigi_grep.py to luigi_grep.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/tools/deps_tree.py to deps_tree.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/tools/range.py to range.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/tools/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/cmdline.py to cmdline.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/local_target.py to local_target.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/s3.py to s3.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/worker.py to worker.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/interface.py to interface.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/task_register.py to task_register.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/server.py to server.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/task_status.py to task_status.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/task_history.py to task_history.pyc
byte-compiling build/bdist.linux-x86_64/egg/luigi/event.py to event.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying luigi.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying luigi.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying luigi.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying luigi.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying luigi.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying luigi.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
luigi.server: module references __file__
luigi.six: module references __path__
luigi.contrib.hadoop: module references __file__
luigi.contrib.hadoop: module references __path__
luigi.contrib.spark: module references __file__
luigi.contrib.spark: module references __path__
luigi.contrib.sge: module references __file__
creating 'dist/luigi-2.5.0-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 luigi-2.5.0-py2.7.egg
creating /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages/luigi-2.5.0-py2.7.egg
Extracting luigi-2.5.0-py2.7.egg to /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages
Adding luigi 2.5.0 to easy-install.pth file
Installing luigi-deps script to /home/nmb10/.virtualenvs/luigi_delme2/bin
Installing luigi-grep script to /home/nmb10/.virtualenvs/luigi_delme2/bin
Installing luigi-migrate script to /home/nmb10/.virtualenvs/luigi_delme2/bin
Installing luigid script to /home/nmb10/.virtualenvs/luigi_delme2/bin
Installing luigi-deps-tree script to /home/nmb10/.virtualenvs/luigi_delme2/bin
Installing luigi script to /home/nmb10/.virtualenvs/luigi_delme2/bin

Installed /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages/luigi-2.5.0-py2.7.egg
Processing dependencies for luigi==2.5.0
Searching for tornado<5,>=4.0
Reading https://pypi.python.org/simple/tornado/
Downloading https://pypi.python.org/packages/1e/7c/ea047f7bbd1ff22a7f69fe55e7561040e3e54d6f31da6267ef9748321f98/tornado-4.4.2.tar.gz#md5=b4816ea209118667ffc52ce9ff06ac85
Best match: tornado 4.4.2
Processing tornado-4.4.2.tar.gz
Writing /tmp/easy_install-NDfdrN/tornado-4.4.2/setup.cfg
Running tornado-4.4.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-NDfdrN/tornado-4.4.2/egg-dist-tmp-IFwBFa
no previously-included directories found matching 'docs/build'
warning: no files found matching 'tornado/test/README'
zip_safe flag not set; analyzing archive contents...
tornado.autoreload: module references __file__
tornado.options: module references __file__
tornado.testing: module references __file__
/home/nmb10/.virtualenvs/luigi_delme2/local/lib/python2.7/site-packages/setuptools/command/bdist_egg.py:395: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
  symbols = dict.fromkeys(iter_symbols(code))
tornado.test.httpserver_test: module references __file__
tornado.test.web_test: module references __file__
tornado.test.locale_test: module references __file__
tornado.test.options_test: module references __file__
tornado.test.template_test: module references __file__
tornado.test.iostream_test: module references __file__
creating /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages/tornado-4.4.2-py2.7-linux-x86_64.egg
Extracting tornado-4.4.2-py2.7-linux-x86_64.egg to /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages
Adding tornado 4.4.2 to easy-install.pth file

Installed /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages/tornado-4.4.2-py2.7-linux-x86_64.egg
Searching for backports_abc>=0.4
Reading https://pypi.python.org/simple/backports_abc/
Downloading https://pypi.python.org/packages/68/3c/1317a9113c377d1e33711ca8de1e80afbaf4a3c950dd0edfaf61f9bfe6d8/backports_abc-0.5.tar.gz#md5=7d1936ec183a3586290adf60f6f96764
Best match: backports-abc 0.5
Processing backports_abc-0.5.tar.gz
Writing /tmp/easy_install-D8Rgd7/backports_abc-0.5/setup.cfg
Running backports_abc-0.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-D8Rgd7/backports_abc-0.5/egg-dist-tmp-waf_U9
zip_safe flag not set; analyzing archive contents...
Moving backports_abc-0.5-py2.7.egg to /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages
Adding backports-abc 0.5 to easy-install.pth file

Installed /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages/backports_abc-0.5-py2.7.egg
Searching for certifi
Reading https://pypi.python.org/simple/certifi/
Downloading https://pypi.python.org/packages/b6/fa/ca682d5ace0700008d246664e50db8d095d23750bb212c0086305450c276/certifi-2017.1.23.tar.gz#md5=b72521a8badff5e89a8eabea586d79ab
Best match: certifi 2017.1.23
Processing certifi-2017.1.23.tar.gz
Writing /tmp/easy_install-JyiFty/certifi-2017.1.23/setup.cfg
Running certifi-2017.1.23/setup.py -q bdist_egg --dist-dir /tmp/easy_install-JyiFty/certifi-2017.1.23/egg-dist-tmp-ZcpumO
/home/nmb10/.virtualenvs/luigi_delme2/local/lib/python2.7/site-packages/setuptools/dist.py:333: UserWarning: Normalizing '2017.01.23' to '2017.1.23'
  normalized_version,
zip_safe flag not set; analyzing archive contents...
certifi.core: module references __file__
creating /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages/certifi-2017.1.23-py2.7.egg
Extracting certifi-2017.1.23-py2.7.egg to /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages
Adding certifi 2017.1.23 to easy-install.pth file

Installed /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages/certifi-2017.1.23-py2.7.egg
Searching for singledispatch
Reading https://pypi.python.org/simple/singledispatch/
Downloading https://pypi.python.org/packages/d9/e9/513ad8dc17210db12cb14f2d4d190d618fb87dd38814203ea71c87ba5b68/singledispatch-3.4.0.3.tar.gz#md5=af2fc6a3d6cc5a02d0bf54d909785fcb
Best match: singledispatch 3.4.0.3
Processing singledispatch-3.4.0.3.tar.gz
Writing /tmp/easy_install-pHuw8T/singledispatch-3.4.0.3/setup.cfg
Running singledispatch-3.4.0.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-pHuw8T/singledispatch-3.4.0.3/egg-dist-tmp-GJZecj
Moving singledispatch-3.4.0.3-py2.7.egg to /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages
Adding singledispatch 3.4.0.3 to easy-install.pth file

Installed /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages/singledispatch-3.4.0.3-py2.7.egg
Searching for six==1.10.0
Best match: six 1.10.0
Adding six 1.10.0 to easy-install.pth file

Using /home/nmb10/.virtualenvs/luigi_delme2/lib/python2.7/site-packages
Finished processing dependencies for luigi==2.5.0
$ lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty
$ python -V
Python 2.7.6

Long story short, it must be something messed up with my virtualenv.

I can only recreate this issue in that specific venv. If i create relative copies and install luigi 2.3.3 and then bleeding-edge, it's fine.

So i just need to recreate a fresh venv.

sorry for the firedrill

We hit this same issue today just doing a pip install luigi. We work on macs using a virtual environment created with pyvenv and using python 3.5

output:

(.venv) project (develop) $ pip install luigi
Collecting luigi
  Using cached luigi-2.6.0.tar.gz
Requirement already satisfied: tornado<5,>=4.0 in ./.venv/lib/python3.5/site-packages (from luigi)
Requirement already satisfied: python-daemon<3.0 in ./.venv/lib/python3.5/site-packages (from luigi)
Requirement already satisfied: setuptools in ./.venv/lib/python3.5/site-packages (from python-daemon<3.0->luigi)
Requirement already satisfied: lockfile>=0.10 in ./.venv/lib/python3.5/site-packages (from python-daemon<3.0->luigi)
Requirement already satisfied: docutils in ./.venv/lib/python3.5/site-packages (from python-daemon<3.0->luigi)
Installing collected packages: luigi
  Running setup.py install for luigi ... error
    Complete output from command /Users/lsalin/project/.venv/bin/python3.5 -u -c "import setuptools, tokenize;__file__='/private/var/folders/5_/qfssy3j13tb05_b0d85bbxgm0000gn/T/pip-build-s85694es/luigi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/5_/qfssy3j13tb05_b0d85bbxgm0000gn/T/pip-vym0cvj5-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/lsalin/projects/sp/sparkpredict/.venv/include/site/python3.5/luigi:
    running install
    running build
    running build_py
    creating build
    creating build/lib
    creating build/lib/luigi
    copying luigi/__init__.py -> build/lib/luigi
    copying luigi/__main__.py -> build/lib/luigi
    copying luigi/batch_notifier.py -> build/lib/luigi
    copying luigi/cmdline.py -> build/lib/luigi
    copying luigi/cmdline_parser.py -> build/lib/luigi
    copying luigi/configuration.py -> build/lib/luigi
    copying luigi/date_interval.py -> build/lib/luigi
    copying luigi/db_task_history.py -> build/lib/luigi
    copying luigi/event.py -> build/lib/luigi
    copying luigi/execution_summary.py -> build/lib/luigi
    copying luigi/file.py -> build/lib/luigi
    copying luigi/format.py -> build/lib/luigi
    copying luigi/interface.py -> build/lib/luigi
    copying luigi/local_target.py -> build/lib/luigi
    copying luigi/lock.py -> build/lib/luigi
    copying luigi/mock.py -> build/lib/luigi
    copying luigi/notifications.py -> build/lib/luigi
    copying luigi/parameter.py -> build/lib/luigi
    copying luigi/postgres.py -> build/lib/luigi
    copying luigi/process.py -> build/lib/luigi
    copying luigi/retcodes.py -> build/lib/luigi
    copying luigi/rpc.py -> build/lib/luigi
    copying luigi/s3.py -> build/lib/luigi
    copying luigi/scheduler.py -> build/lib/luigi
    copying luigi/server.py -> build/lib/luigi
    copying luigi/six.py -> build/lib/luigi
    copying luigi/target.py -> build/lib/luigi
    copying luigi/task.py -> build/lib/luigi
    copying luigi/task_history.py -> build/lib/luigi
    copying luigi/task_register.py -> build/lib/luigi
    copying luigi/task_status.py -> build/lib/luigi
    copying luigi/util.py -> build/lib/luigi
    copying luigi/worker.py -> build/lib/luigi
    creating build/lib/luigi/contrib
    copying luigi/contrib/__init__.py -> build/lib/luigi/contrib
    copying luigi/contrib/bigquery.py -> build/lib/luigi/contrib
    copying luigi/contrib/bigquery_avro.py -> build/lib/luigi/contrib
    copying luigi/contrib/dataproc.py -> build/lib/luigi/contrib
    copying luigi/contrib/ecs.py -> build/lib/luigi/contrib
    copying luigi/contrib/esindex.py -> build/lib/luigi/contrib
    copying luigi/contrib/external_program.py -> build/lib/luigi/contrib
    copying luigi/contrib/ftp.py -> build/lib/luigi/contrib
    copying luigi/contrib/gcs.py -> build/lib/luigi/contrib
    copying luigi/contrib/hadoop.py -> build/lib/luigi/contrib
    copying luigi/contrib/hadoop_jar.py -> build/lib/luigi/contrib
    copying luigi/contrib/hive.py -> build/lib/luigi/contrib
    copying luigi/contrib/mrrunner.py -> build/lib/luigi/contrib
    copying luigi/contrib/mssqldb.py -> build/lib/luigi/contrib
    copying luigi/contrib/mysqldb.py -> build/lib/luigi/contrib
    copying luigi/contrib/opener.py -> build/lib/luigi/contrib
    copying luigi/contrib/pig.py -> build/lib/luigi/contrib
    copying luigi/contrib/postgres.py -> build/lib/luigi/contrib
    copying luigi/contrib/pyspark_runner.py -> build/lib/luigi/contrib
    copying luigi/contrib/rdbms.py -> build/lib/luigi/contrib
    copying luigi/contrib/redis_store.py -> build/lib/luigi/contrib
    copying luigi/contrib/redshift.py -> build/lib/luigi/contrib
    copying luigi/contrib/s3.py -> build/lib/luigi/contrib
    copying luigi/contrib/salesforce.py -> build/lib/luigi/contrib
    copying luigi/contrib/scalding.py -> build/lib/luigi/contrib
    copying luigi/contrib/sge.py -> build/lib/luigi/contrib
    copying luigi/contrib/sge_runner.py -> build/lib/luigi/contrib
    copying luigi/contrib/simulate.py -> build/lib/luigi/contrib
    copying luigi/contrib/spark.py -> build/lib/luigi/contrib
    copying luigi/contrib/sparkey.py -> build/lib/luigi/contrib
    copying luigi/contrib/sqla.py -> build/lib/luigi/contrib
    copying luigi/contrib/ssh.py -> build/lib/luigi/contrib
    copying luigi/contrib/target.py -> build/lib/luigi/contrib
    copying luigi/contrib/webhdfs.py -> build/lib/luigi/contrib
    creating build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/__init__.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/abstract_client.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/clients.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/config.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/error.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/format.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/hadoopcli_clients.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/snakebite_client.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/target.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/webhdfs_client.py -> build/lib/luigi/contrib/hdfs
    creating build/lib/luigi/tools
    copying luigi/tools/__init__.py -> build/lib/luigi/tools
    copying luigi/tools/deps.py -> build/lib/luigi/tools
    copying luigi/tools/deps_tree.py -> build/lib/luigi/tools
    copying luigi/tools/luigi_grep.py -> build/lib/luigi/tools
    copying luigi/tools/range.py -> build/lib/luigi/tools
    creating build/lib/luigi/static
    creating build/lib/luigi/static/visualiser
    copying luigi/static/visualiser/index.html -> build/lib/luigi/static/visualiser
    copying luigi/static/visualiser/test.html -> build/lib/luigi/static/visualiser
    creating build/lib/luigi/static/visualiser/css
    copying luigi/static/visualiser/css/font-awesome.min.css -> build/lib/luigi/static/visualiser/css
    copying luigi/static/visualiser/css/tipsy.css -> build/lib/luigi/static/visualiser/css
    creating build/lib/luigi/static/visualiser/fonts
    copying luigi/static/visualiser/fonts/fontawesome-webfont.eot -> build/lib/luigi/static/visualiser/fonts
    copying luigi/static/visualiser/fonts/glyphicons-halflings-regular.eot -> build/lib/luigi/static/visualiser/fonts
    copying luigi/static/visualiser/fonts/fontawesome-webfont.svg -> build/lib/luigi/static/visualiser/fonts
    copying luigi/static/visualiser/fonts/glyphicons-halflings-regular.svg -> build/lib/luigi/static/visualiser/fonts
    copying luigi/static/visualiser/fonts/fontawesome-webfont.ttf -> build/lib/luigi/static/visualiser/fonts
    copying luigi/static/visualiser/fonts/glyphicons-halflings-regular.ttf -> build/lib/luigi/static/visualiser/fonts
    copying luigi/static/visualiser/fonts/fontawesome-webfont.woff -> build/lib/luigi/static/visualiser/fonts
    copying luigi/static/visualiser/fonts/glyphicons-halflings-regular.woff -> build/lib/luigi/static/visualiser/fonts
    copying luigi/static/visualiser/fonts/fontawesome-webfont.woff2 -> build/lib/luigi/static/visualiser/fonts
    creating build/lib/luigi/static/visualiser/js
    copying luigi/static/visualiser/js/graph.js -> build/lib/luigi/static/visualiser/js
    copying luigi/static/visualiser/js/luigi.js -> build/lib/luigi/static/visualiser/js
    copying luigi/static/visualiser/js/tipsy.js -> build/lib/luigi/static/visualiser/js
    copying luigi/static/visualiser/js/visualiserApp.js -> build/lib/luigi/static/visualiser/js
    creating build/lib/luigi/static/visualiser/js/test
    copying luigi/static/visualiser/js/test/graph_test.js -> build/lib/luigi/static/visualiser/js/test
    creating build/lib/luigi/static/visualiser/lib
    copying luigi/static/visualiser/lib/jquery-1.10.0.min.js -> build/lib/luigi/static/visualiser/lib
    copying luigi/static/visualiser/lib/jquery.slimscroll.min.js -> build/lib/luigi/static/visualiser/lib
    copying luigi/static/visualiser/lib/mustache.js -> build/lib/luigi/static/visualiser/lib
    error: can't copy 'luigi/static/visualiser/lib/URI.js': doesn't exist or not a regular file

Hi, @louissalin . Maybe it's cache issue?

...
Using cached luigi-2.6.0.tar.gz
...

I'll have to check. I just reran the command to show the output, so it makes sense that it used the cache on the 2nd run.

This issue happened 16 hours after luigi 2.6.0 was released while we were building our docker containers (python 3.5 on Centos7). It's highly unlikely we already had downloaded luigi 2.6.0. After noticing our containers weren't building, we tried it on our macs and got the same issue.

I'm having the same issue (can't copy 'luigi/static/visualiser/lib/URI.js') using:
python 2.7.12
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
NAME="Ubuntu"
VERSION="16.04.1 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.1 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
UBUNTU_CODENAME=xenial

I'm having the same issue (can't copy 'luigi/static/visualiser/lib/URI.js') using:
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.7 (Final)
Release: 6.7
Codename: Final

I'm also hitting this issue with 2.6.0. It appears to be related to this line in the setup.py that declares all *.js paths to be static files for inclusion in the package. Version 2.6.0 includes a directory called URI.js and this appears to confuse the copying logic.

EDIT: I think this is the same issue as in #2027 #2028 #2029

@anjackson I wonder why all the linked issues are closed.
@Tarrasch, should we open a new issue about this?

@louissalin the linked issues are closed as they're dups of this one.

I closed this issue b/c I was unable to recreate the issue from a fresh install or a fresh upgrade.

Hi @dlstadther,

I just recreated the issue in a docker container running Centos 7 using python 3.5 and pip 9.0.1:

[root@4e56b7c0dbae /]#
[root@4e56b7c0dbae /]# pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |################################| 1.3MB 1.1MB/s
Installing collected packages: pip
  Found existing installation: pip 8.1.2
    Uninstalling pip-8.1.2:
      Successfully uninstalled pip-8.1.2
Successfully installed pip-9.0.1
[root@4e56b7c0dbae /]#
[root@4e56b7c0dbae /]#
[root@4e56b7c0dbae /]# python --version
Python 3.5.2
[root@4e56b7c0dbae /]# pip --version
pip 9.0.1 from /usr/local/lib/python3.5/site-packages (python 3.5)
[root@4e56b7c0dbae /]#
[root@4e56b7c0dbae /]# pip install luigi
Collecting luigi
  Downloading luigi-2.6.0.tar.gz (1.2MB)
    100% |################################| 1.2MB 1.2MB/s
Collecting tornado<5,>=4.0 (from luigi)
  Downloading tornado-4.4.2.tar.gz (460kB)
    100% |################################| 460kB 2.9MB/s
Collecting python-daemon<3.0 (from luigi)
  Downloading python_daemon-2.1.2-py2.py3-none-any.whl
Requirement already satisfied: setuptools in /usr/local/lib/python3.5/site-packages (from python-daemon<3.0->luigi)
Collecting lockfile>=0.10 (from python-daemon<3.0->luigi)
  Downloading lockfile-0.12.2-py2.py3-none-any.whl
Collecting docutils (from python-daemon<3.0->luigi)
  Downloading docutils-0.13.1-py3-none-any.whl (536kB)
    100% |################################| 542kB 2.3MB/s
Installing collected packages: tornado, lockfile, docutils, python-daemon, luigi
  Running setup.py install for tornado ... done
  Running setup.py install for luigi ... error
    Complete output from command /usr/local/bin/python3.5 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-30os9ibi/luigi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-nszmh7xo-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib
    creating build/lib/luigi
    copying luigi/lock.py -> build/lib/luigi
    copying luigi/configuration.py -> build/lib/luigi
    copying luigi/server.py -> build/lib/luigi
    copying luigi/file.py -> build/lib/luigi
    copying luigi/cmdline.py -> build/lib/luigi
    copying luigi/scheduler.py -> build/lib/luigi
    copying luigi/task.py -> build/lib/luigi
    copying luigi/mock.py -> build/lib/luigi
    copying luigi/worker.py -> build/lib/luigi
    copying luigi/db_task_history.py -> build/lib/luigi
    copying luigi/task_history.py -> build/lib/luigi
    copying luigi/task_register.py -> build/lib/luigi
    copying luigi/interface.py -> build/lib/luigi
    copying luigi/date_interval.py -> build/lib/luigi
    copying luigi/s3.py -> build/lib/luigi
    copying luigi/format.py -> build/lib/luigi
    copying luigi/six.py -> build/lib/luigi
    copying luigi/__init__.py -> build/lib/luigi
    copying luigi/target.py -> build/lib/luigi
    copying luigi/local_target.py -> build/lib/luigi
    copying luigi/execution_summary.py -> build/lib/luigi
    copying luigi/__main__.py -> build/lib/luigi
    copying luigi/postgres.py -> build/lib/luigi
    copying luigi/process.py -> build/lib/luigi
    copying luigi/retcodes.py -> build/lib/luigi
    copying luigi/rpc.py -> build/lib/luigi
    copying luigi/task_status.py -> build/lib/luigi
    copying luigi/util.py -> build/lib/luigi
    copying luigi/event.py -> build/lib/luigi
    copying luigi/cmdline_parser.py -> build/lib/luigi
    copying luigi/parameter.py -> build/lib/luigi
    copying luigi/batch_notifier.py -> build/lib/luigi
    copying luigi/notifications.py -> build/lib/luigi
    creating build/lib/luigi/contrib
    copying luigi/contrib/spark.py -> build/lib/luigi/contrib
    copying luigi/contrib/simulate.py -> build/lib/luigi/contrib
    copying luigi/contrib/bigquery.py -> build/lib/luigi/contrib
    copying luigi/contrib/hadoop_jar.py -> build/lib/luigi/contrib
    copying luigi/contrib/redis_store.py -> build/lib/luigi/contrib
    copying luigi/contrib/sge_runner.py -> build/lib/luigi/contrib
    copying luigi/contrib/mysqldb.py -> build/lib/luigi/contrib
    copying luigi/contrib/bigquery_avro.py -> build/lib/luigi/contrib
    copying luigi/contrib/mssqldb.py -> build/lib/luigi/contrib
    copying luigi/contrib/sqla.py -> build/lib/luigi/contrib
    copying luigi/contrib/external_program.py -> build/lib/luigi/contrib
    copying luigi/contrib/s3.py -> build/lib/luigi/contrib
    copying luigi/contrib/sparkey.py -> build/lib/luigi/contrib
    copying luigi/contrib/ftp.py -> build/lib/luigi/contrib
    copying luigi/contrib/dataproc.py -> build/lib/luigi/contrib
    copying luigi/contrib/pyspark_runner.py -> build/lib/luigi/contrib
    copying luigi/contrib/ssh.py -> build/lib/luigi/contrib
    copying luigi/contrib/redshift.py -> build/lib/luigi/contrib
    copying luigi/contrib/__init__.py -> build/lib/luigi/contrib
    copying luigi/contrib/sge.py -> build/lib/luigi/contrib
    copying luigi/contrib/target.py -> build/lib/luigi/contrib
    copying luigi/contrib/hadoop.py -> build/lib/luigi/contrib
    copying luigi/contrib/scalding.py -> build/lib/luigi/contrib
    copying luigi/contrib/rdbms.py -> build/lib/luigi/contrib
    copying luigi/contrib/opener.py -> build/lib/luigi/contrib
    copying luigi/contrib/mrrunner.py -> build/lib/luigi/contrib
    copying luigi/contrib/postgres.py -> build/lib/luigi/contrib
    copying luigi/contrib/salesforce.py -> build/lib/luigi/contrib
    copying luigi/contrib/ecs.py -> build/lib/luigi/contrib
    copying luigi/contrib/gcs.py -> build/lib/luigi/contrib
    copying luigi/contrib/pig.py -> build/lib/luigi/contrib
    copying luigi/contrib/hive.py -> build/lib/luigi/contrib
    copying luigi/contrib/esindex.py -> build/lib/luigi/contrib
    copying luigi/contrib/webhdfs.py -> build/lib/luigi/contrib
    creating build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/snakebite_client.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/error.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/format.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/__init__.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/webhdfs_client.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/target.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/config.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/abstract_client.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/hadoopcli_clients.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/clients.py -> build/lib/luigi/contrib/hdfs
    creating build/lib/luigi/tools
    copying luigi/tools/deps.py -> build/lib/luigi/tools
    copying luigi/tools/luigi_grep.py -> build/lib/luigi/tools
    copying luigi/tools/range.py -> build/lib/luigi/tools
    copying luigi/tools/__init__.py -> build/lib/luigi/tools
    copying luigi/tools/deps_tree.py -> build/lib/luigi/tools
    creating build/lib/luigi/static
    creating build/lib/luigi/static/visualiser
    copying luigi/static/visualiser/test.html -> build/lib/luigi/static/visualiser
    copying luigi/static/visualiser/index.html -> build/lib/luigi/static/visualiser
    creating build/lib/luigi/static/visualiser/lib
    copying luigi/static/visualiser/lib/jquery.slimscroll.min.js -> build/lib/luigi/static/visualiser/lib
    copying luigi/static/visualiser/lib/jquery-1.10.0.min.js -> build/lib/luigi/static/visualiser/lib
    error: can't copy 'luigi/static/visualiser/lib/URI.js': doesn't exist or not a regular file

    ----------------------------------------
Command "/usr/local/bin/python3.5 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-30os9ibi/luigi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-nszmh7xo-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-30os9ibi/luigi/

It works fine with the official python 3.5 and 3.6 docker images. This is the output I got from running it inside the python:3.6 container.

test $
test $ docker run -it python:3 bash
root@d8da5b6fbe45:/#
root@d8da5b6fbe45:/#
root@d8da5b6fbe45:/# python --version
Python 3.6.0
root@d8da5b6fbe45:/# pip install --upgrade pip
Requirement already up-to-date: pip in /usr/local/lib/python3.6/site-packages
root@d8da5b6fbe45:/# pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)
root@d8da5b6fbe45:/#
root@d8da5b6fbe45:/# pip install luigi
Collecting luigi
  Downloading luigi-2.6.0.tar.gz (1.2MB)
    100% |鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅| 1.2MB 1.4MB/s
Collecting tornado<5,>=4.0 (from luigi)
  Downloading tornado-4.4.2.tar.gz (460kB)
    100% |鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅| 460kB 3.0MB/s
Collecting python-daemon<3.0 (from luigi)
  Downloading python_daemon-2.1.2-py2.py3-none-any.whl
Collecting docutils (from python-daemon<3.0->luigi)
  Downloading docutils-0.13.1-py3-none-any.whl (536kB)
    100% |鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅| 542kB 2.6MB/s
Collecting lockfile>=0.10 (from python-daemon<3.0->luigi)
  Downloading lockfile-0.12.2-py2.py3-none-any.whl
Requirement already satisfied: setuptools in /usr/local/lib/python3.6/site-packages (from python-daemon<3.0->luigi)
Installing collected packages: tornado, docutils, lockfile, python-daemon, luigi
  Running setup.py install for tornado ... done
  Running setup.py install for luigi ... done
Successfully installed docutils-0.13.1 lockfile-0.12.2 luigi-2.6.0 python-daemon-2.1.2 tornado-4.4.2

@dlstadther: I think I found a way for you to reproduce the issue. You will need docker to be able to run the following steps in the exact same environment. This time, it's using python 2.7 and pip 8.1.2.

It looks like this may be an OS specific issue. I tried to install luigi in all the official OSes that python comes bundled in from the docker hub and it worked on all of them.

$ docker pull centos:7

<removing output>

$ docker run -it centos:7 bash

(this will take you inside the docker image from where the remaining commands will be run)

# yum -y install epel-release

<removing output>

# yum -y install python-pip

<removing output>

# pip --version
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
# python --version
Python 2.7.5
# pip install luigi
Collecting luigi
  Downloading luigi-2.6.0.tar.gz (1.2MB)
    100% |################################| 1.2MB 1.0MB/s
Collecting tornado<5,>=4.0 (from luigi)
  Downloading tornado-4.4.2.tar.gz (460kB)
    100% |################################| 460kB 2.0MB/s
Collecting python-daemon<3.0 (from luigi)
  Downloading python_daemon-2.1.2-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): backports.ssl_match_hostname in /usr/lib/python2.7/site-packages (from tornado<5,>=4.0->luigi)
Collecting singledispatch (from tornado<5,>=4.0->luigi)
  Downloading singledispatch-3.4.0.3-py2.py3-none-any.whl
Collecting certifi (from tornado<5,>=4.0->luigi)
  Downloading certifi-2017.1.23-py2.py3-none-any.whl (382kB)
    100% |################################| 389kB 1.0MB/s
Collecting backports_abc>=0.4 (from tornado<5,>=4.0->luigi)
  Downloading backports_abc-0.5-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python2.7/site-packages (from python-daemon<3.0->luigi)
Collecting docutils (from python-daemon<3.0->luigi)
  Downloading docutils-0.13.1-py2-none-any.whl (537kB)
    100% |################################| 542kB 1.6MB/s
Collecting lockfile>=0.10 (from python-daemon<3.0->luigi)
  Downloading lockfile-0.12.2-py2.py3-none-any.whl
Collecting six (from singledispatch->tornado<5,>=4.0->luigi)
  Downloading six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six, singledispatch, certifi, backports-abc, tornado, docutils, lockfile, python-daemon, luigi
  Running setup.py install for tornado ... done
  Running setup.py install for luigi ... error
    Complete output from command /usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-AiFEpg/luigi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-7rBu1g-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib
    creating build/lib/luigi
    copying luigi/lock.py -> build/lib/luigi
    copying luigi/configuration.py -> build/lib/luigi
    copying luigi/server.py -> build/lib/luigi
    copying luigi/file.py -> build/lib/luigi
    copying luigi/cmdline.py -> build/lib/luigi
    copying luigi/scheduler.py -> build/lib/luigi
    copying luigi/task.py -> build/lib/luigi
    copying luigi/mock.py -> build/lib/luigi
    copying luigi/worker.py -> build/lib/luigi
    copying luigi/db_task_history.py -> build/lib/luigi
    copying luigi/task_history.py -> build/lib/luigi
    copying luigi/task_register.py -> build/lib/luigi
    copying luigi/interface.py -> build/lib/luigi
    copying luigi/date_interval.py -> build/lib/luigi
    copying luigi/s3.py -> build/lib/luigi
    copying luigi/format.py -> build/lib/luigi
    copying luigi/six.py -> build/lib/luigi
    copying luigi/__init__.py -> build/lib/luigi
    copying luigi/target.py -> build/lib/luigi
    copying luigi/local_target.py -> build/lib/luigi
    copying luigi/execution_summary.py -> build/lib/luigi
    copying luigi/__main__.py -> build/lib/luigi
    copying luigi/postgres.py -> build/lib/luigi
    copying luigi/process.py -> build/lib/luigi
    copying luigi/retcodes.py -> build/lib/luigi
    copying luigi/rpc.py -> build/lib/luigi
    copying luigi/task_status.py -> build/lib/luigi
    copying luigi/util.py -> build/lib/luigi
    copying luigi/event.py -> build/lib/luigi
    copying luigi/cmdline_parser.py -> build/lib/luigi
    copying luigi/parameter.py -> build/lib/luigi
    copying luigi/batch_notifier.py -> build/lib/luigi
    copying luigi/notifications.py -> build/lib/luigi
    creating build/lib/luigi/contrib
    copying luigi/contrib/spark.py -> build/lib/luigi/contrib
    copying luigi/contrib/simulate.py -> build/lib/luigi/contrib
    copying luigi/contrib/bigquery.py -> build/lib/luigi/contrib
    copying luigi/contrib/hadoop_jar.py -> build/lib/luigi/contrib
    copying luigi/contrib/redis_store.py -> build/lib/luigi/contrib
    copying luigi/contrib/sge_runner.py -> build/lib/luigi/contrib
    copying luigi/contrib/mysqldb.py -> build/lib/luigi/contrib
    copying luigi/contrib/bigquery_avro.py -> build/lib/luigi/contrib
    copying luigi/contrib/mssqldb.py -> build/lib/luigi/contrib
    copying luigi/contrib/sqla.py -> build/lib/luigi/contrib
    copying luigi/contrib/external_program.py -> build/lib/luigi/contrib
    copying luigi/contrib/s3.py -> build/lib/luigi/contrib
    copying luigi/contrib/sparkey.py -> build/lib/luigi/contrib
    copying luigi/contrib/ftp.py -> build/lib/luigi/contrib
    copying luigi/contrib/dataproc.py -> build/lib/luigi/contrib
    copying luigi/contrib/pyspark_runner.py -> build/lib/luigi/contrib
    copying luigi/contrib/ssh.py -> build/lib/luigi/contrib
    copying luigi/contrib/redshift.py -> build/lib/luigi/contrib
    copying luigi/contrib/__init__.py -> build/lib/luigi/contrib
    copying luigi/contrib/sge.py -> build/lib/luigi/contrib
    copying luigi/contrib/target.py -> build/lib/luigi/contrib
    copying luigi/contrib/hadoop.py -> build/lib/luigi/contrib
    copying luigi/contrib/scalding.py -> build/lib/luigi/contrib
    copying luigi/contrib/rdbms.py -> build/lib/luigi/contrib
    copying luigi/contrib/opener.py -> build/lib/luigi/contrib
    copying luigi/contrib/mrrunner.py -> build/lib/luigi/contrib
    copying luigi/contrib/postgres.py -> build/lib/luigi/contrib
    copying luigi/contrib/salesforce.py -> build/lib/luigi/contrib
    copying luigi/contrib/ecs.py -> build/lib/luigi/contrib
    copying luigi/contrib/gcs.py -> build/lib/luigi/contrib
    copying luigi/contrib/pig.py -> build/lib/luigi/contrib
    copying luigi/contrib/hive.py -> build/lib/luigi/contrib
    copying luigi/contrib/esindex.py -> build/lib/luigi/contrib
    copying luigi/contrib/webhdfs.py -> build/lib/luigi/contrib
    creating build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/snakebite_client.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/error.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/format.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/__init__.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/webhdfs_client.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/target.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/config.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/abstract_client.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/hadoopcli_clients.py -> build/lib/luigi/contrib/hdfs
    copying luigi/contrib/hdfs/clients.py -> build/lib/luigi/contrib/hdfs
    creating build/lib/luigi/tools
    copying luigi/tools/deps.py -> build/lib/luigi/tools
    copying luigi/tools/luigi_grep.py -> build/lib/luigi/tools
    copying luigi/tools/range.py -> build/lib/luigi/tools
    copying luigi/tools/__init__.py -> build/lib/luigi/tools
    copying luigi/tools/deps_tree.py -> build/lib/luigi/tools
    creating build/lib/luigi/static
    creating build/lib/luigi/static/visualiser
    copying luigi/static/visualiser/test.html -> build/lib/luigi/static/visualiser
    copying luigi/static/visualiser/index.html -> build/lib/luigi/static/visualiser
    creating build/lib/luigi/static/visualiser/lib
    copying luigi/static/visualiser/lib/jquery.slimscroll.min.js -> build/lib/luigi/static/visualiser/lib
    copying luigi/static/visualiser/lib/jquery-1.10.0.min.js -> build/lib/luigi/static/visualiser/lib
    error: can't copy 'luigi/static/visualiser/lib/URI.js': doesn't exist or not a regular file

    ----------------------------------------
Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-AiFEpg/luigi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-7rBu1g-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-AiFEpg/luigi/

Hi, @louissalin . I can reproduce it now, thanks. Trying to solve.

It seems pip considers URI.js directory as file and tryes to copy it. After dropping '.js' luigi installed without error.

$ mv luigi/static/visualiser/lib/URI.js/  luigi/static/visualiser/lib/URI

Note that after rename one should fix URI.js url in the luigi/static/visualiser/index.html

I think simplest and most safe fix is to rename URI.js directory. I'm going to implement that if there are no better ideas.

@nmb10 Is it better to rename the dir or just simplify the file structure (like #2033)?

Hi, @dlstadther . I think we should keep version number. Otherwise it may be hard to find version and may cause cache issues in the future.

@nmb10 I have no problem with either solution. I'll communicate that to the open PR if that's cool with you

Wait...question.... if URI.js caused problems, 1.18.2 would as well. Correct? To keep the version number, it's need to be 1-18-2 or something to that effect?

I don't believe a directory of 1.18.2 would be a problem. The directory URI.js was only an issue because the glob *.js matched it.

@FlorianLudwig it could, but #2033 was just merged and should resolve this issue.

@dlstadther yeah, noticed it shortly after writing my question and deleted the comment :)

Just as an update, Kazbek's solution of...

"$ mv luigi/static/visualiser/lib/URI.js/ luigi/static/visualiser/lib/URI"

...worked beautifully for me. In fact, when I checked the install after
... the URI.js still get's put in place properly, so I didn't even need
to use his suggestion of altering the HTML files.

--

Michael Rightmire

B.Sci. Molecular Biotechnology

MCSE,MCP+I,HPUXCA,CompTIA,VDE, SIAM,ISCB

Skype:RightmireM

+49-721-1320-2562 (DE)

+1-408-890-2121 (USA)

Biocom Biotechnology and Software
BiocomSoftware.Com Http://biocomsoftware.com

BiocomSoftware.De http://Biocomsoftware.de
//

The contents of this email message and any attachments are intended
solely for the addressee(s) and may contain confidential and/or
privileged information and may be legally protected from disclosure. If
you are not the intended recipient of this message or their agent, or if
this message has been addressed to you in error, please immediately
alert the sender by reply email and then delete this message and any
attachments. If you are not the intended recipient, you are hereby
notified that any use, dissemination, copying, or storage of this
message or its attachments is strictly prohibited.

The luigi 2.6.0 from pip still does not work as I think there has not been a new release. Any plans for releasing 2.6.1 with this fix?

I think this is related
luigi install from pip on Amazon emr, which usually works very well
can't copy 'luigi/static/visualiser/lib/URI.js': doesn't exist or not a regular file

If this would be fixed by moving python code to python 3 let me know.
Temporarily I will use the 2.5.0 version

@Tarrasch Can we release 2.6.1 soon as many people are encountering this issue with 2.6.0 (solved by #2033 )?

The only way I have been able to get a working luigi environment is to install the bleeding edge via:

pip install git+https://github.com/spotify/luigi.git

Definitely would be nice if there was update on PyPi.

See 2.6.1 for PyPi release including this bug fix.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

boombard picture boombard  路  5Comments

Alex-picwell picture Alex-picwell  路  5Comments

kashifjt picture kashifjt  路  5Comments

birdcolour picture birdcolour  路  4Comments

gioelelm picture gioelelm  路  5Comments