2

OS: Manjaro
Python: 3.8

On my computer I have 2 partitions, one is where my Manjaro is installed, and the other one it's a secondary SSD. Every time when I'm running this command virtualenv env into my secondary SSD I'm getting the following error:

OSError: [Errno 38] Function not implemented: '/usr/bin/python3' ->
'path/to/my/env/bin/python'

Also the same with this command python3 -m venv tutorial-env I'm getting the same error.

But the interesting fact is that if I'm trying to run any of those commands under my main partition everything works perfectly fine with no errors at all.

Could any of you help me to understand what's going on here and why the heck I'm getting this error? Also, how can I fix it? Because I really need to create a python environment under that secondary partition.

martineau
  • 119,623
  • 25
  • 170
  • 301
Mircea
  • 1,671
  • 7
  • 25
  • 41

1 Answers1

2

Your SSD is most probably formatted as FAT filesystem, FAT doesn't implement symlinks and virtualenvs by default use symlinks to that version of python they have been created with. You can try virtualenv --always-copy to avoid symlinks on the second disk.

phd
  • 82,685
  • 13
  • 120
  • 165
  • Oh, you are right, thanks to you so much for your help :D. Just one more thing because I'm not sure... what are symlinks and why do I need it in the first place? – Mircea Dec 16 '20 at 22:34
  • https://en.wikipedia.org/wiki/Symbolic_link; https://unix.stackexchange.com/search?q=%5Bsymlink%5D+what+is; `virtualenv` uses symlinks to avoid copying files; this makes creating of a virtual env faster and takes less disk space. Unfortunately sometimes — when symlinks don't work — `virtualenv` must be directed to use copy. – phd Dec 16 '20 at 23:00