将旧的Python(3.9)安装在带有非LTSUbuntu

问题描述 投票:0回答:0

为了使用科学摄像机,我需要使用一个需要Python 3.9的旧Python模块。 我使用的是最后一个Ubuntu 24.10的PC(随附Python3.12)
我以为与Python 3.9的快速pipenv可以解决问题。 它似乎并不简单...
来自Source

的Compile Python3.9

由于不可能通过Apt install安装python的旧版本。 即使使用DeadSnake PPA(附加ADP-REPOSITOR PPA:DEADSNAKES/PPA)也不适用于非LTS Ubuntu ...(Https://github.com/deadeadsnakes/issues/issues/issues/issues/issues/249,) 如果一个人想安装一个旧的python,则它可以从源头开始... (从

https://askubuntu.com/questions/1539019/how-to-now-to-install-python-3-10-on-on-ubuntu-24-10

获取了这个想法)
1/安装依赖项:

$ sudo apt install -y build-essential libssl-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libffi-dev zlib1g-dev

2/下载并提取最后一个python3.9

$ sudo wget https://www.python.org/ftp/python/3.9.21/Python-3.9.21.tgz $ sudo tar -xvf Python-3.9.21.tgz

3/编译并安装:
$ cd Python-3.9.21
$ sudo ./configure --enable-optimizations
$ sudo make altinstall`

/usr/local/bin中的Instals:

$ ls -la /usr/local/bin
total 15684
drwxr-xr-x  2 root root     4096 Mar 13 14:09 .
drwxr-xr-x 11 root root     4096 Oct  7 21:03 ..
-rwxr-xr-x  1 root root      101 Mar 13 14:09 2to3-3.9
-rwxr-xr-x  1 root root       99 Mar 13 14:09 idle3.9
-rwxr-xr-x  1 root root      229 Mar 13 14:09 pip3.9
-rwxr-xr-x  1 root root       84 Mar 13 14:09 pydoc3.9
-rwxr-xr-x  1 root root 16029664 Mar 13 14:08 python3.9
-rwxr-xr-x  1 root root     3053 Mar 13 14:09 python3.9-config
我现在已经安装了两个版本的Python!

$ python3 --version
Python 3.12.7

$ python3.9 --version
Python 3.9.21
我创建我的pipenv:

$ pipenv install --python '/usr/local/bin/python3.9'

Creating a Pipfile for this project...
Pipfile.lock not found, creating...
Locking [packages] dependencies...
Locking [dev-packages] dependencies...
Updated Pipfile.lock (702ad05de9bc9de99a4807c8dde1686f31e0041d7b5f6f6b74861195a52110f5)!
Installing dependencies from Pipfile.lock (2110f5)...
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

但:

$ pipenv run python --version
Python 3.12.7
python 3.9.21:' - (

我做错了什么? NB:我也尝试了

$ pipenv install --python3.9

但是收到了一条错误消息。不知道为什么,不确定这是什么意思... Creating a Pipfile for this project... Installing --python3.9... Resolving --python3.9... Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pipenv/patched/pip/_vendor/packaging/requirements.py", line 102, in __init__ req = REQUIREMENT.parseString(requirement_string) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/patched/pip/_vendor/pyparsing/util.py", line 256, in _inner return fn(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/patched/pip/_vendor/pyparsing/core.py", line 1190, in parse_string raise exc.with_traceback(None) pipenv.patched.pip._vendor.pyparsing.exceptions.ParseException: , found '-' (at char 0), (line:1, col:1) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pipenv/patched/pip/_internal/req/constructors.py", line 367, in _parse_req_string req = get_requirement(req_as_string) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/patched/pip/_internal/utils/packaging.py", line 45, in get_requirement return Requirement(req_string) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/patched/pip/_vendor/packaging/requirements.py", line 104, in __init__ raise InvalidRequirement( pipenv.patched.pip._vendor.packaging.requirements.InvalidRequirement: Parse error at "'--python'": During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/bin/pipenv", line 8, in <module> sys.exit(cli()) ^^^^^ File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 1157, in __call__ return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/cli/options.py", line 58, in main return super().main(*args, **kwargs, windows_expand_args=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 1078, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 783, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/vendor/click/decorators.py", line 92, in new_func return ctx.invoke(f, obj, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 783, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/cli/command.py", line 209, in install do_install( File "/usr/lib/python3/dist-packages/pipenv/routines/install.py", line 212, in do_install pkg_requirement, _ = expansive_install_req_from_line( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/utils/dependencies.py", line 996, in expansive_install_req_from_line parts = parse_req_from_line(pip_line, line_source) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/patched/pip/_internal/req/constructors.py", line 395, in parse_req_from_line req: Optional[Requirement] = _parse_req_string(req_as_string) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pipenv/patched/pip/_internal/req/constructors.py", line 381, in _parse_req_string raise InstallationError(msg) pipenv.patched.pip._internal.exceptions.InstallationError: Invalid requirement: '--python3.9'

	
我的盒子上通常使用各种Python版本。我只是依靠标准库中的好旧

venv

cd path_to_your_project python3.9 -m venv venv # creates a virtual environment based on python3.9 . venv/bin/activate # activates that environment

从该点开始,
python
将是3.9版本,

pip

将在虚拟环境中安装软件包。
	
python ubuntu pipenv
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.