We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Python 3.9 compatibility
Python 3.9 [is out](https://docs.python.org/3.9/whatsnew/3.9.html). We should ensure that we are compatible, so there are a couple of things to do

* [x] Create a fresh Python 3.9 environment.yml (with current package versions)
* [x] Update Travis and Appveyor CI setup files
  - [x] Check if the Appveyor 3.8 build can use the 3.8 miniconda, not 3.7, now
  - [x] I think we should relax the python version specifiers in the environment.yml to major.minor (i.e. python 3.8, not 3.8.1), to also get python bugfixes, even though it's a bit less strict in CI version stability.
  - [x] Check if we should bump Trais ubuntu version to the current LTS focal (20.04)
* The conda-forge package is repackaged automatically, apparently - it's already available.

--- 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 #
2 # This file is part of the PyMeasure package.
3 #
4 # Copyright (c) 2013-2020 PyMeasure Developers
5 #
6 # Permission is hereby granted, free of charge, to any person obtaining a copy
7 # of this software and associated documentation files (the "Software"), to deal
8 # in the Software without restriction, including without limitation the rights
9 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 # copies of the Software, and to permit persons to whom the Software is
11 # furnished to do so, subject to the following conditions:
12 #
13 # The above copyright notice and this permission notice shall be included in
14 # all copies or substantial portions of the Software.
15 #
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 # THE SOFTWARE.
23 #
24 
25 
26 from setuptools import setup, find_packages
27 
28 setup(
29     name='PyMeasure',
30     version='0.8.0',
31     author='PyMeasure Developers',
32     packages=find_packages(),
33     scripts=[],
34     url='https://github.com/ralph-group/pymeasure',
35     download_url='https://github.com/ralph-group/pymeasure/tarball/v0.8.0',
36     license='MIT License',
37     description='Scientific measurement library for instruments, experiments, and live-plotting',
38     long_description=open('README.rst').read() + "\n\n" + open('CHANGES.txt').read(),
39     install_requires=[
40         "numpy >= 1.6.1",
41         "pandas >= 0.14",
42         "pyvisa >= 1.8",
43         "pyserial >= 2.7",
44         "pyqtgraph >= 0.9.10"
45     ],
46     extras_require={
47         'matplotlib': ['matplotlib >= 2.0.2'],
48         'tcp': [
49             'zmq >= 16.0.2',
50             'cloudpickle >= 0.3.1'
51         ],
52         'python-vxi11': ['python-vxi11 >= 0.9']
53     },
54     setup_requires=[
55         'pytest-runner'
56     ],
57     tests_require=[
58         'pytest >= 2.9.1',
59         'pytest-qt >= 2.4.0'
60     ],
61     classifiers=[
62         "Development Status :: 4 - Beta",
63         "Intended Audience :: Science/Research",
64         "License :: OSI Approved :: MIT License",
65         "Operating System :: MacOS",
66         "Operating System :: Microsoft :: Windows",
67         "Operating System :: POSIX",
68         "Operating System :: Unix",
69         "Programming Language :: Python :: 3 :: Only",
70         "Programming Language :: Python :: 3.6",
71         "Programming Language :: Python :: 3.7",
72         "Programming Language :: Python :: 3.8",
73         "Topic :: Scientific/Engineering",
74     ],
75     keywords="measure instrument experiment control automate graph plot"
76 )
77
```
--- 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()

```

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -70,6 +70,7 @@
         "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
+        "Programming Language :: Python :: 3.9",
         "Topic :: Scientific/Engineering",
     ],
     keywords="measure instrument experiment control automate graph plot"

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -70,6 +70,7 @@\n         \"Programming Language :: Python :: 3.6\",\n         \"Programming Language :: Python :: 3.7\",\n         \"Programming Language :: Python :: 3.8\",\n+        \"Programming Language :: Python :: 3.9\",\n         \"Topic :: Scientific/Engineering\",\n     ],\n     keywords=\"measure instrument experiment control automate graph plot\"\n", "issue": "Python 3.9 compatibility\nPython 3.9 [is out](https://docs.python.org/3.9/whatsnew/3.9.html). We should ensure that we are compatible, so there are a couple of things to do\r\n\r\n* [x] Create a fresh Python 3.9 environment.yml (with current package versions)\r\n* [x] Update Travis and Appveyor CI setup files\r\n  - [x] Check if the Appveyor 3.8 build can use the 3.8 miniconda, not 3.7, now\r\n  - [x] I think we should relax the python version specifiers in the environment.yml to major.minor (i.e. python 3.8, not 3.8.1), to also get python bugfixes, even though it's a bit less strict in CI version stability.\r\n  - [x] Check if we should bump Trais ubuntu version to the current LTS focal (20.04)\r\n* The conda-forge package is repackaged automatically, apparently - it's already available.\n", "before_files": [{"content": "#\n# This file is part of the PyMeasure package.\n#\n# Copyright (c) 2013-2020 PyMeasure Developers\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in\n# all copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n# THE SOFTWARE.\n#\n\n\nfrom setuptools import setup, find_packages\n\nsetup(\n    name='PyMeasure',\n    version='0.8.0',\n    author='PyMeasure Developers',\n    packages=find_packages(),\n    scripts=[],\n    url='https://github.com/ralph-group/pymeasure',\n    download_url='https://github.com/ralph-group/pymeasure/tarball/v0.8.0',\n    license='MIT License',\n    description='Scientific measurement library for instruments, experiments, and live-plotting',\n    long_description=open('README.rst').read() + \"\\n\\n\" + open('CHANGES.txt').read(),\n    install_requires=[\n        \"numpy >= 1.6.1\",\n        \"pandas >= 0.14\",\n        \"pyvisa >= 1.8\",\n        \"pyserial >= 2.7\",\n        \"pyqtgraph >= 0.9.10\"\n    ],\n    extras_require={\n        'matplotlib': ['matplotlib >= 2.0.2'],\n        'tcp': [\n            'zmq >= 16.0.2',\n            'cloudpickle >= 0.3.1'\n        ],\n        'python-vxi11': ['python-vxi11 >= 0.9']\n    },\n    setup_requires=[\n        'pytest-runner'\n    ],\n    tests_require=[\n        'pytest >= 2.9.1',\n        'pytest-qt >= 2.4.0'\n    ],\n    classifiers=[\n        \"Development Status :: 4 - Beta\",\n        \"Intended Audience :: Science/Research\",\n        \"License :: OSI Approved :: MIT License\",\n        \"Operating System :: MacOS\",\n        \"Operating System :: Microsoft :: Windows\",\n        \"Operating System :: POSIX\",\n        \"Operating System :: Unix\",\n        \"Programming Language :: Python :: 3 :: Only\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Topic :: Scientific/Engineering\",\n    ],\n    keywords=\"measure instrument experiment control automate graph plot\"\n)\n", "path": "setup.py"}], "after_files": [{"content": "#\n# This file is part of the PyMeasure package.\n#\n# Copyright (c) 2013-2020 PyMeasure Developers\n#\n# Permission is hereby granted, free of charge, to any person obtaining a copy\n# of this software and associated documentation files (the \"Software\"), to deal\n# in the Software without restriction, including without limitation the rights\n# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n# copies of the Software, and to permit persons to whom the Software is\n# furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in\n# all copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n# THE SOFTWARE.\n#\n\n\nfrom setuptools import setup, find_packages\n\nsetup(\n    name='PyMeasure',\n    version='0.8.0',\n    author='PyMeasure Developers',\n    packages=find_packages(),\n    scripts=[],\n    url='https://github.com/ralph-group/pymeasure',\n    download_url='https://github.com/ralph-group/pymeasure/tarball/v0.8.0',\n    license='MIT License',\n    description='Scientific measurement library for instruments, experiments, and live-plotting',\n    long_description=open('README.rst').read() + \"\\n\\n\" + open('CHANGES.txt').read(),\n    install_requires=[\n        \"numpy >= 1.6.1\",\n        \"pandas >= 0.14\",\n        \"pyvisa >= 1.8\",\n        \"pyserial >= 2.7\",\n        \"pyqtgraph >= 0.9.10\"\n    ],\n    extras_require={\n        'matplotlib': ['matplotlib >= 2.0.2'],\n        'tcp': [\n            'zmq >= 16.0.2',\n            'cloudpickle >= 0.3.1'\n        ],\n        'python-vxi11': ['python-vxi11 >= 0.9']\n    },\n    setup_requires=[\n        'pytest-runner'\n    ],\n    tests_require=[\n        'pytest >= 2.9.1',\n        'pytest-qt >= 2.4.0'\n    ],\n    classifiers=[\n        \"Development Status :: 4 - Beta\",\n        \"Intended Audience :: Science/Research\",\n        \"License :: OSI Approved :: MIT License\",\n        \"Operating System :: MacOS\",\n        \"Operating System :: Microsoft :: Windows\",\n        \"Operating System :: POSIX\",\n        \"Operating System :: Unix\",\n        \"Programming Language :: Python :: 3 :: Only\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Topic :: Scientific/Engineering\",\n    ],\n    keywords=\"measure instrument experiment control automate graph plot\"\n)\n", "path": "setup.py"}]}