I tried wath people suggested, but it doesn't work, I think because of the difference between spyder 3 and spyder 4. When I tried this in the console:
conda create -n py27 python=2.7 #for version 2.7
activate py27,
I got the following error:
File "<ipython-input-1-bf66fb85464f>", line 1
conda create -n py27 python=2.7 #for version 2.7
^
SyntaxError: invalid syntax
How can I change it, because I need python 2.7 for school
Related
I have installed conda using miniforge. Since my mac has a m1 chip, i had to install conda using Miniforge3-MacOSX-arm64.sh, inorder to get tensorflow working. unfortunately this version (minforge/minconda arm64) doesn't have python2 for some reason. As I require python2 for another project (doesnot require tensorflow) I have decided to install anaconda3.
But now I am unaware how to switch between the two conda versions (anaconda3 and miniconda/miniforge3).
For example when I enter activate conda in the terminal, it activates the base environment of the miniforge version.
How do I activate base environment of the anaconda version. So that I can create python2 environment there (anaconda3).
According to this post, one solution is to change the content of your .zshrc file, save your changes, close and reopen your terminal. I tested on a MacBook Pro M1 where Miniforge3 and Anaconda3 are currently installed and it works. In the following, just replace --PATH-- with the path of the requested environment management system. For example, I replace --PATH-- with opt/anaconda3 for Anaconda3 and miniforge3 for .. Miniforge3.
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/username/--PATH--/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/username/--PATH--/etc/profile.d/conda.sh" ]; then
. "/Users/username/--PATH--/etc/profile.d/conda.sh"
else
export PATH="/Users/username/--PATH--/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
A quick fix for switching between environments is to pick out the path you get from the output of conda env list. Here is what I get from both miniforge and miniconda:
(base) user#machine script % conda env list
# conda environments:
#
base * /Users/user/miniforge3
nmgp /Users/user/miniforge3/envs/nmgp
scphere /Users/user/miniforge3/envs/scphere
/opt/miniconda3
/opt/miniconda3/envs/gpcounts
/opt/miniconda3/envs/gpy
/opt/miniconda3/envs/test
/opt/miniconda3/envs/nmgp
/opt/miniconda3/envs/scphere
/opt/miniconda3/envs/ssdgp
To activate the miniforge environments you can use the name directly:
conda activate nmgp
To activate a miniconda environment you can use the absolute path:
conda activate /opt/miniconda3/envs/nmgp
I've read a lot of posts about this but none of the solutions have worked for me. I'm trying to get a module called nsxramlclient installed, shows successful installation with pip but cannot import from any location outside of the /Users/Nathan/Library/Python/2.7/lib/python/site-packages.
Uninstall does work after some fidgeting with brew using the recommendations found with brew doctor. Here are some vitals:
Running OSX python 2.7.10
PIP 18.1
which -a pip = /usr/local/bin/pip
which -a python = shows 2 directories:
/usr/local/bin/python
/usr/bin/python
python -c 'import sys; print(sys.path)'
['', '/usr/local/Cellar/python#2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/usr/local/Cellar/python#2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/usr/local/Cellar/python#2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/usr/local/Cellar/python#2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/usr/local/Cellar/python#2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/usr/local/Cellar/python#2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/usr/local/Cellar/python#2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/usr/local/Cellar/python#2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload']
pip list | grep nsxramlclient
nsxramlclient 2.0.7
It has to be a path issue since I'm able to import it from the directory that the module is located. I just don't know the proper method to repair this since I'm fairly new to Python and I don't want to mess it up worse that it is already.
Looks like I did end up getting it to work finally. What I had to do was to re-install python with brew:
brew re-install python#2
then I needed to re-install the modules I needed with pip. Having OTHER issues now but at least this one is fixed.
When trying to run a program in python from the terminal I get the following error:
Fatal Python error: Py_Initialize: unable to load the file system codec
LookupError: no codec search functions registered: can't find encoding
Current thread 0x00007fffb68a93c0 (most recent call first):
Abort trap: 6
I am currently running Python 3.6.4 :: Anaconda custom (64-bit) and think this problem may have to do with also having Anaconda 2 installed. Could someone help me figure out what the cause is and how I can remedy this?
I'd also be interested in knowing more tips about how to use Anaconda 2 and 3 concurrently so that this doesn't happen again.
After some trouble shooting w/ you, it looks like reinstalling anaconda (from the version 3.6 choice on the web) crossed some wires.
For others either...
1) Use your original installment and make a python3 environment. To do this change your .bash_profile to only include
export PATH="/Users/<username>/anaconda2/bin:$PATH
and perhaps remove or move the
/Users/<username>/anaconda3
directory to a new name. Then make a new environment using the original anaconda(with python version 2) that fetches and uses Python 3.6:
conda create -n mypython3environment python=3.6
where "mypython3environment" is some name you want when you use python 3.6
then to use it in your project - go to your project's directory and type:
source activate mypython3environment
2) Do a clean install. The other option is to cut out the anaconda stuff from your .bash_profile, remove or move the anaconda2/ and anaconda3 directories and the .bash_profile.pysave file and try to reinstall from the anaconda webpage.
Overall - you need to install anaconda once - then use conda create and source activate <environment name> to make then use environments, respectively, with your Python version of choice, whether it is a Python 2 or 3 version.
See Anaconda's Managing Environments and the cheatsheet
I am trying to launch a python 2.7 script called pp.py from a Python 3.6 script.
I am working on Windows 7
This is the 2.7 script:
#! C:\Python27\python.exe
import sys
sys.stdout.write("Hello from version %s\n" % (sys.version,))
If I launch it from the cmd window, it will return that it is using the 2.7 version,
but if I call it from the 3.6 script with this instruction:
exec(open("pp.py").read())
then it will answer that it is using Python 3.6
Any ideas?
Python exec executes a string of code in the current version.
I think you'll have to run a new process using the python version you want.
If you need to read return values, use the Pipes, as described here
Follow the step here, and you'll have a distinction between python 2 and 3 (or use aliases in linux).
Then, you can use the Process class to to run your script.
Have mac OS 10.6 and have python verion 2.7 32 bit intalled as
well as numpy and scipy.
also have xcode version 3.2, Im really confused as to what to do at this point. I download
biopython version 1.59 and tried to run the setup code in python but it wont work. what am i missing?
when i try and run the setup file in idle i get this error message:
Traceback (most recent call last):
File "/Users/Cliff/Downloads/biopython-1.58/setup.py", line 379, in <module>
'Bio.PopGen': ['SimCoal/data/*.par'],
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 140, in setup
raise SystemExit, gen_usage(dist.script_name) + "\nerror: %s" % msg
SystemExit: usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: no commands supplied
You need to run python setup.py install from Terminal.app. You should be in a bash, tcsh, etc. shell, not in a Python shell.
Just as an probably easier alternative:
Biopython is also available via pip:
pip install biopython
Or (even better) via bioconda (try it out, it's great):
conda install biopython
For this just install miniconda (very easy and does NOT require admin rights) from here. and then add the bioconda channel as per these simple instructions.
Strangly these two simple options are missing in the biopython tutorial
The error shows that you did not supply a command to the install script. The usual command is 'install', so try:
python setup.py install
In any event, as the error suggests, you can use:
python setup.py --help