prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Cannot deploy to pypi repo dues to tuples in the `setup.py` attributes
  Due to a python-bug (http://bugs.python.org/issue19610) i cannot install and deploy lmfit with `python setup install`
  
  I discovered this issue while trying to fix #149 
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 #!/usr/bin/env python
  2 # from distutils.core import setup
  3 from setuptools import setup
  4 
  5 import lmfit as lmfit
  6 import numpy, scipy
  7 
  8 long_desc = """A library for least-squares minimization and data fitting in
  9 Python.  Built on top of scipy.optimize, lmfit provides a Parameter object
  10 which can be set as fixed or free, can have upper and/or lower bounds, or
  11 can be written in terms of algebraic constraints of other Parameters.  The
  12 user writes a function to be minimized as a function of these Parameters,
  13 and the scipy.optimize methods are used to find the optimal values for the
  14 Parameters.  The Levenberg-Marquardt (leastsq) is the default minimization
  15 algorithm, and provides estimated standard errors and correlations between
  16 varied Parameters.  Other minimization methods, including Nelder-Mead's
  17 downhill simplex, Powell's method, BFGS, Sequential Least Squares, and
  18 others are also supported.  Bounds and contraints can be placed on
  19 Parameters for all of these methods.
  20 
  21 In addition, methods for explicitly calculating confidence intervals are
  22 provided for exploring minmization problems where the approximation of
  23 estimating Parameter uncertainties from the covariance matrix is
  24 questionable. """
  25 
  26 
  27 setup(name = 'lmfit',
  28       version = lmfit.__version__,
  29       author = 'LMFit Development Team',
  30       author_email = 'matt.newville@gmail.com',
  31       url          = 'http://lmfit.github.io/lmfit-py/',
  32       download_url = 'http://lmfit.github.io//lmfit-py/',
  33       requires = ('numpy', 'scipy'),
  34       license = 'BSD',
  35       description = "Least-Squares Minimization with Bounds and Constraints",
  36       long_description = long_desc,
  37       platforms = ('Windows', 'Linux', 'Mac OS X'),
  38       classifiers=['Intended Audience :: Science/Research',
  39                    'Operating System :: OS Independent',
  40                    'Programming Language :: Python',
  41                    'Topic :: Scientific/Engineering',
  42                    ],
  43       # test_suite='nose.collector',
  44       # test_requires=['Nose'],
  45       package_dir = {'lmfit': 'lmfit'},
  46       packages = ['lmfit', 'lmfit.ui', 'lmfit.uncertainties'],
  47       )
  48 
  49
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -30,11 +30,11 @@
         author_email = 'matt.newville@gmail.com',
         url          = 'http://lmfit.github.io/lmfit-py/',
         download_url = 'http://lmfit.github.io//lmfit-py/',
  -      requires = ('numpy', 'scipy'),
  +      requires = ['numpy', 'scipy'],
         license = 'BSD',
         description = "Least-Squares Minimization with Bounds and Constraints",
         long_description = long_desc,
  -      platforms = ('Windows', 'Linux', 'Mac OS X'),
  +      platforms = ['Windows', 'Linux', 'Mac OS X'],
         classifiers=['Intended Audience :: Science/Research',
                      'Operating System :: OS Independent',
                      'Programming Language :: Python',
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -30,11 +30,11 @@\n       author_email = 'matt.newville@gmail.com',\n       url          = 'http://lmfit.github.io/lmfit-py/',\n       download_url = 'http://lmfit.github.io//lmfit-py/',\n-      requires = ('numpy', 'scipy'),\n+      requires = ['numpy', 'scipy'],\n       license = 'BSD',\n       description = \"Least-Squares Minimization with Bounds and Constraints\",\n       long_description = long_desc,\n-      platforms = ('Windows', 'Linux', 'Mac OS X'),\n+      platforms = ['Windows', 'Linux', 'Mac OS X'],\n       classifiers=['Intended Audience :: Science/Research',\n                    'Operating System :: OS Independent',\n                    'Programming Language :: Python',\n", "issue": "Cannot deploy to pypi repo dues to tuples in the `setup.py` attributes\nDue to a python-bug (http://bugs.python.org/issue19610) i cannot install and deploy lmfit with `python setup install`\n\nI discovered this issue while trying to fix #149 \n\n", "before_files": [{"content": "#!/usr/bin/env python\n# from distutils.core import setup\nfrom setuptools import setup\n\nimport lmfit as lmfit\nimport numpy, scipy\n\nlong_desc = \"\"\"A library for least-squares minimization and data fitting in\nPython.  Built on top of scipy.optimize, lmfit provides a Parameter object\nwhich can be set as fixed or free, can have upper and/or lower bounds, or\ncan be written in terms of algebraic constraints of other Parameters.  The\nuser writes a function to be minimized as a function of these Parameters,\nand the scipy.optimize methods are used to find the optimal values for the\nParameters.  The Levenberg-Marquardt (leastsq) is the default minimization\nalgorithm, and provides estimated standard errors and correlations between\nvaried Parameters.  Other minimization methods, including Nelder-Mead's\ndownhill simplex, Powell's method, BFGS, Sequential Least Squares, and\nothers are also supported.  Bounds and contraints can be placed on\nParameters for all of these methods.\n\nIn addition, methods for explicitly calculating confidence intervals are\nprovided for exploring minmization problems where the approximation of\nestimating Parameter uncertainties from the covariance matrix is\nquestionable. \"\"\"\n\n\nsetup(name = 'lmfit',\n      version = lmfit.__version__,\n      author = 'LMFit Development Team',\n      author_email = 'matt.newville@gmail.com',\n      url          = 'http://lmfit.github.io/lmfit-py/',\n      download_url = 'http://lmfit.github.io//lmfit-py/',\n      requires = ('numpy', 'scipy'),\n      license = 'BSD',\n      description = \"Least-Squares Minimization with Bounds and Constraints\",\n      long_description = long_desc,\n      platforms = ('Windows', 'Linux', 'Mac OS X'),\n      classifiers=['Intended Audience :: Science/Research',\n                   'Operating System :: OS Independent',\n                   'Programming Language :: Python',\n                   'Topic :: Scientific/Engineering',\n                   ],\n      # test_suite='nose.collector',\n      # test_requires=['Nose'],\n      package_dir = {'lmfit': 'lmfit'},\n      packages = ['lmfit', 'lmfit.ui', 'lmfit.uncertainties'],\n      )\n\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\n# from distutils.core import setup\nfrom setuptools import setup\n\nimport lmfit as lmfit\nimport numpy, scipy\n\nlong_desc = \"\"\"A library for least-squares minimization and data fitting in\nPython.  Built on top of scipy.optimize, lmfit provides a Parameter object\nwhich can be set as fixed or free, can have upper and/or lower bounds, or\ncan be written in terms of algebraic constraints of other Parameters.  The\nuser writes a function to be minimized as a function of these Parameters,\nand the scipy.optimize methods are used to find the optimal values for the\nParameters.  The Levenberg-Marquardt (leastsq) is the default minimization\nalgorithm, and provides estimated standard errors and correlations between\nvaried Parameters.  Other minimization methods, including Nelder-Mead's\ndownhill simplex, Powell's method, BFGS, Sequential Least Squares, and\nothers are also supported.  Bounds and contraints can be placed on\nParameters for all of these methods.\n\nIn addition, methods for explicitly calculating confidence intervals are\nprovided for exploring minmization problems where the approximation of\nestimating Parameter uncertainties from the covariance matrix is\nquestionable. \"\"\"\n\n\nsetup(name = 'lmfit',\n      version = lmfit.__version__,\n      author = 'LMFit Development Team',\n      author_email = 'matt.newville@gmail.com',\n      url          = 'http://lmfit.github.io/lmfit-py/',\n      download_url = 'http://lmfit.github.io//lmfit-py/',\n      requires = ['numpy', 'scipy'],\n      license = 'BSD',\n      description = \"Least-Squares Minimization with Bounds and Constraints\",\n      long_description = long_desc,\n      platforms = ['Windows', 'Linux', 'Mac OS X'],\n      classifiers=['Intended Audience :: Science/Research',\n                   'Operating System :: OS Independent',\n                   'Programming Language :: Python',\n                   'Topic :: Scientific/Engineering',\n                   ],\n      # test_suite='nose.collector',\n      # test_requires=['Nose'],\n      package_dir = {'lmfit': 'lmfit'},\n      packages = ['lmfit', 'lmfit.ui', 'lmfit.uncertainties'],\n      )\n\n", "path": "setup.py"}]}