Y a-t-il un bogue dans le Python 2.7.5 par défaut du système d'exploitation lorsque vous essayez d'utiliser vaex? Ne peut pas être utilisé par J'étais légèrement accro à l'installation de Python 2.7.17 et à essayer de continuer le projet, alors prenez note.
CentOS 7.5.1804 Python2.7.17 Poetry 1.0.5 tcsh
J'ai essayé d'autres méthodes d'installation telles que pyenv, mais j'ai décidé d'utiliser sclo python, qui semble être la plus simple pour créer un environnement sur une autre machine.
sudo yum -y install centos-release-scl-rh
sudo yum -y install python27
À l'origine, / opt / rh / python27 / enable
devrait être installé ici, mais il y a des moments où cela n'est pas fait pour une raison quelconque.
Dans ce cas, écrivez-le manuellement ou installez python36 etc. et copiez et modifiez enable.
Puisque enable est écrit en bash, réécrivez-le dans tcsh.
vim /opt/rh/python27/enable
#!/usr/bin/env tcsh
if ($?PATH) then
setenv PATH /opt/rh/python27/root/usr/bin:${PATH}
else
setenv PATH /opt/rh/python27/root/usr/bin
endif
if ($?LD_LIBRARY_PATH) then
setenv LD_LIBRARY_PATH /opt/rh/python27/root/usr/lib64:${LD_LIBRARY_PATH}
else
setenv LD_LIBRARY_PATH /opt/rh/python27/root/usr/lib64
endif
if ($?MANPATH) then
setenv MANPATH /opt/rh/python27/root/usr/share/man:${MANPATH}
else
setenv MANPATH /opt/rh/python27/root/usr/share/man
endif
if ($?PKG_CONFIG_PATH) then
setenv PKG_CONFIG_PATH /opt/rh/python27/root/usr/lib64/pkgconfig:${PKG_CONFIG_PATH}
else
setenv PKG_CONFIG_PATH /opt/rh/python27/root/usr/lib64/pkgconfig
endif
if ($?XDG_DATA_DIRS) then
setenv XDG_DATA_DIRS /opt/rh/python27/root/usr/share:${XDG_DATA_DIRS}
else
setenv XDG_DATA_DIRS /opt/rh/python27/root/usr/share
endif
Puisqu'il s'agit de tcsh, scl enable python27 tcsh
ne peut pas être utilisé comme les autres shells, donc enable est directement généré et activé.
$ python -V
Python 2.7.5
$ source /opt/rh/python27/enable
$ python -V
Python 2.7.17
OK si la version a changé correctement.
p
** dans le shell qui a généré activer ** poetry init
Si vous avez déjà créé un virtualenv avec OS Python, supprimez l'environnement une fois et poetry install
Cela créera un environnement dans SCLO Python.
Il n'y a pas de problème avec la déclaration utilisée à partir du terminal jusqu'à présent, mais lorsque j'ai essayé d'utiliser Python dans l'environnement créé à partir de PyCharm, une erreur s'est produite et cela n'a pas fonctionné. (Le journal des erreurs a disparu)
La cause était que la variable d'environnement définie par enable n'était pas définie à partir de PyCharm. Ce n'est pas très joli, mais je l'ai résolu en transformant python2.7 en un script shell et en activant la source lors de l'exécution de python.
cd `poetry env info --path`/bin
mv python2.7 python2.7_original
vim python2.7
python2.7
#!/usr/bin/env tcsh
source /opt/rh/python27/enable
`dirname $0`/python2.7_original $*
Recommended Posts