Repository: pykale/pykale (language: python)

Issue:
[Bug] Installation on Mac
# 🐛 Bug

<!-- When the following code is entered, "no matches found" will appear -->

## To reproduce

Steps to reproduce the behavior:

1. pip install pykale[extras]
2. pip install .[extras] 
3. pip install -e .[dev]


** Stack trace/error message **
```
zsh: no matches found: .[extras]
zsh: no matches found: pykale[extras]
zsh: no matches found: .[dev]
```


## Expected Behaviour

<!-- When the following code is entered, "no matches found" will appear. -->

## Environment
active environment : base
    active env location : /opt/anaconda3
            shell level : 2
       user config file : /Users/liudaotan/.condarc
 populated config files : /Users/liudaotan/.condarc
          conda version : 4.9.2
    conda-build version : 3.20.5
         python version : 3.8.5.final.0
       virtual packages : __osx=10.16=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /opt/anaconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/osx-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /opt/anaconda3/pkgs
                          /Users/liudaotan/.conda/pkgs
       envs directories : /opt/anaconda3/envs
                          /Users/liudaotan/.conda/envs
               platform : osx-64
             user-agent : conda/4.9.2 requests/2.24.0 CPython/3.8.5 Darwin/20.3.0 OSX/10.16
                UID:GID : 501:20
             netrc file : None
           offline mode : False

Please copy and paste the output from our
[environment collection script](https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py)
(or fill out the checklist below manually).

You can get the script and run it with:
```
wget https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py
# For security purposes, please check the contents of collect_env.py before running it.
python collect_env.py
```

 - PyTorch Version (e.g., 1.0): 1.7
 - OS (e.g., Linux): Mac (M1)
 - How you installed PyTorch (`conda`, `pip`, source): conda
 - Build command you used (if compiling from source): 
 - Python version: 3.8
 - CUDA/cuDNN version: null
 - GPU models and configuration: 
 - Any other relevant information:

## Additional context
When I change the code as following , every thing goes well.
1. pip install 'pykale[extras]'
2. pip install '.[extras]' 
3. pip install '-e .[dev]'


Discussion / hints:
You only need to choose _one of the `pip install` options_ from the installation instruction to install. Not sure why you are doing three of them in sequence here, i.e. you are installing the stable and then using installing from source. 

Do you have the same problem if you just do one `pip install` (e.g. `pip install pykale`)? 
I wasn't sure which one I should install, so my team member and I did them in sequence . `pip install pykale` was fine. The problem I'm reporting only occurs when using [], such as `pip install 'pykale[extras]'`. Fortunately though, this doesn't affect running `pytest`. Thank you.
Options are explained in the comments.
If you are not sure, pick the simplest option `pip install pykale` can do. You could install other packages later when needed.
You can show me live in our next meeting.

@pz-white Do you have a mac to test whether `pip install pykale[extras]` works (e.g. via a conda environment)? I do not have one.
Thanks a lot. 
@haipinglu we should consider extending our test matrix to cover MacOS and Windows 10. If we're targeting conda environments, we could do our testing in a conda environment on each OS. Maybe consider raising an issue?

ref: https://github.com/pykale/pykale/blob/master/.github/workflows/test.yml
> @haipinglu we should consider extending our test matrix to cover MacOS and Windows 10. If we're targeting conda environments, we could do our testing in a conda environment on each OS. Maybe consider raising an issue?
> 
> ref: https://github.com/pykale/pykale/blob/master/.github/workflows/test.yml

@bobturneruk Agree, e.g. most of our students are MacOS or Windows users. Could you make this change? Such as a PR so that we could discuss any issue and merge tomorrow if feasible. Many thanks.
Hi @haipinglu - might not get it done by tomorrow, but I will look at this.

Fix patch:
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 637fbdf51..1a0a6ebfb 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -5,9 +5,9 @@ name: docs
 
 on:
   push:
-    branches: [ master ]
+    branches: [master]
   pull_request:
-    branches: [ master ]
+    branches: [master]
 
 jobs:
   docs:
diff --git a/.github/workflows/check.yml b/.github/workflows/lint.yml
similarity index 90%
rename from .github/workflows/check.yml
rename to .github/workflows/lint.yml
index 15fedc7e0..357a9572e 100644
--- a/.github/workflows/check.yml
+++ b/.github/workflows/lint.yml
@@ -1,16 +1,16 @@
 # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
 # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
 
-name: check
+name: lint
 
 on:
   push:
-    branches: [ master ]
+    branches: [master]
   pull_request:
-    branches: [ master ]
+    branches: [master]
 
 jobs:
-  build:
+  lint:
     runs-on: ubuntu-latest
 
     steps:
diff --git a/README.md b/README.md
index 9ef168877..762e34a57 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@
 
 ## Installation
 
-You should [install PyTorch](https://pytorch.org/get-started/locally/) matching your hardware first. To work on graphs, install [PyTorch Geometric](https://github.com/rusty1s/pytorch_geometric) first follow its official instructions.
+PyKale requires a Python version between 3.6 and 3.8. You should [install PyTorch](https://pytorch.org/get-started/locally/) matching your hardware first. To work on graphs, install [PyTorch Geometric](https://github.com/rusty1s/pytorch_geometric) first follow its official instructions.
 
 Install PyKale using `pip` for the stable version:
 


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 26862e81e..859f84bfd 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -5,35 +5,36 @@ name: test
 
 on:
   push:
-    branches: [ master ]
+    branches: [master]
   pull_request:
-    branches: [ master ]
+    branches: [master]
 
 jobs:
-  build:
-    runs-on: ubuntu-latest
+  test:
+    name: test (${{ matrix.os }}, python version ${{ matrix.python-version }})
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        pytorch-version: ["master", "stable"]
+        os: [ubuntu-latest, macos-latest, windows-latest]
+        python-version: [3.6, 3.7, 3.8]
 
     steps:
-    - uses: actions/checkout@v2
-    - name: Set up Python
-      uses: actions/setup-python@v2
-      with:
-        python-version: "3.6"
-    - name: Install dependencies
-      run: |
-        if [[ ${{ matrix.pytorch-version }} = "master" ]]; then
-          pip install --pre torch -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html;
-        else
-          pip install torch==1.7+cpu -f https://download.pytorch.org/whl/torch_stable.html;
-        fi
-        pip install -e .[dev]
-    - name: Run unit tests
-      run: |
-        pytest --cov=kale
-    - name: Report coverage
-      run: |
-        coverage xml
-        bash <(curl -s https://codecov.io/bash)
+      - uses: actions/checkout@v2
+      - name: Set up Python
+        uses: actions/setup-python@v2
+        with:
+          python-version: ${{ matrix.python-version }}
+      - name: Install dependencies
+        run: |
+          pip install torch==1.7 -f https://download.pytorch.org/whl/torch_stable.html;
+          pip install -e .[dev]
+        shell: bash
+      - name: Run unit tests
+        run: |
+          pytest --cov=kale
+        shell: bash
+      - name: Report coverage
+        run: |
+          coverage xml
+          bash <(curl -s https://codecov.io/bash)
+        shell: bash