在监狱里,我沿着python3.6安装了python3.4。两者都是使用pkg install安装的,没有端口。我希望将3.4版本保留一段时间,但将3.6设置为默认版本。
在互联网上找到的答案,比如这一个或这一个,要么是自己链接/usr/local/bin/python到python3.6 (在升级默认python之后必须做的事情,我想避免的事情;而且无论如何也没有这样的链接);或者是在/etc/make.conf中设置DEFAULT_VERSIONS,这对二进制文件的安装没有任何影响(不过,我已经尝试过了)。
此外,虚拟环境不是一个选项,因为我希望运行uwsgi,为了正确启动,需要系统范围的默认python与其“监视”的python应用程序的python虚拟环境中的默认python匹配。即使我从Django的虚拟环境中开始(提供python3.6),uwsgi也会检测到python3.4是默认的python版本。
找不到是否有任何环境变量丢失。
详情请参阅监狱内部(和虚拟环境):
# printenv
USER=root
LOGNAME=root
HOME=/root
SHELL=/bin/csh
BLOCKSIZE=K
MAIL=/var/mail/root
PATH=/usr/local/venv/dj1/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
TERM=xterm-256color
HOSTTYPE=FreeBSD
VENDOR=amd
OSTYPE=FreeBSD
MACHTYPE=x86_64
SHLVL=1
PWD=/var/log
GROUP=wheel
HOST=dev_web0
EDITOR=vi
LANG=fr_FR.UTF-8
MM_CHARSET=UTF-8
PAGER=more
VIRTUAL_ENV=/usr/local/venv/dj1发布于 2018-08-18 14:38:39
所有二进制文件都是使用默认设置预构建的,当前的默认Python为3.6。
为了实现您的目标,您可以将所需的Python版本作为二进制安装,然后可以在DEFAULT_VERSIONS中/etc/make.conf中设置它,然后使用该版本从端口安装uwsgi。我用Python3.7自动完成这个过程,这不是默认的自动取款机。
或者,您可以测试您的应用程序在Python 3.6下是否正常工作(升级到您的代码应该是最小的,如果有的话),并继续使用默认的二进制文件。
https://unix.stackexchange.com/questions/362860
复制相似问题