somethingstrang
somethingstrang

Reputation: 1223

Pycharm Terminal does not seem to use virtual environment

I have a venv setup with Python 3.7 with several packages installed. I installed them using the UI in settings and the scripts run fine.

However, when I go to the Terminal window and try to run my script there there, it gives me an error message saying "No module named xxxx".

Running python3 run_glue.py, it curiously gives me the following error:

sh-3.2$ python3 run_glue.py
Traceback (most recent call last):
  File "run_glue.py", line 27, in <module>
    import torch
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/torch/__init__.py", line 79, in <module>
    from torch._C import *

ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/torch/_C.cpython-36m-darwin.so, 9): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/torch/lib/libshm.dylib
  Reason: image not found

It seems that it is looking at a python 3.6 environment despite my virtual environment being 3.7. I checked my settings and I dont see why it would be looking at the python 3.6 environment.

Any thoughts here?

Upvotes: 0

Views: 394

Answers (1)

r.ook
r.ook

Reputation: 13848

You need to activate your environment first:

sh-3.2$ source path_of_your_venv/bin/activate

You should now see an (env) before your bash prompt:

(env) sh-3.2$

Then you can check if python3 is correctly referencing the environment by which python3.

Alternatively, execute python3 directly from within your environment:

./path_of_your_venv/bin/python3 run_glue.py.

Upvotes: 1

Related Questions