사용자가 설치한 Python 배포판에 다른 Linux 사용자 액세스 권한 부여

사용자가 설치한 Python 배포판에 다른 Linux 사용자 액세스 권한 부여

(내 질문이 어느 SE 사이트에 속하는지 정확히 모르겠습니다. stackoverflow, serverfault 및 superuser 사이에서 결정되지 않았습니다. 댓글에서 이 문제에 대한 제안을 자유롭게 제공해 주시기 바랍니다.)

내 질문은 다음과 같습니다.

내 Linux 컴퓨터에 두 명의 사용자가 있고 blipython3.6 이 로컬로 설치되어 pquarato있습니다 bli( source 에서 컴파일됨 ./configure --prefix=${HOME}). 바이너리는 에 설치 /home/bli/bin되고 pip3.6은 에 설치됩니다 /home/bli/.local/lib/python3.6/site-packages. 예를 들어, numpy가 여기에 설치되어 있습니다.

(bli) $ pip3.6 install numpy
Requirement already satisfied: numpy in /home/bli/.local/lib/python3.6/site-packages

Python 설치를 pquarato사용하고 싶습니다 . 했고 .​bliblichmod -R a+rx/home/bli/bin/home/bli/.local

pquaratopython3.6 바이너리를 사용할 수 있지만 blipip3.6과 함께 설치된 모듈은 가져올 수 없습니다.

(pquarato) $ /home/bli/bin/python3.6 -c 'import numpy'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'

위의 코드는 bli.

또 무엇을 해야 합니까?


참고: 실제로 pquaratoipython3과 같은 프로그램을 사용하려고 할 때 처음으로 문제가 발생했습니다.

(pquarato) $ /home/bli/.local/bin/ipython3 
Traceback (most recent call last):
  File "/home/bli/.local/bin/ipython3", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/home/bli/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3017, in <module>
    @_call_aside
  File "/home/bli/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3003, in _call_aside
    f(*args, **kwargs)
  File "/home/bli/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3030, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/home/bli/lib/python3.6/site-packages/pkg_resources/__init__.py", line 659, in _build_master
    ws.require(__requires__)
  File "/home/bli/lib/python3.6/site-packages/pkg_resources/__init__.py", line 967, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/home/bli/lib/python3.6/site-packages/pkg_resources/__init__.py", line 853, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'ipython==6.2.1' distribution was not found and is required by the application

ModuleNotFoundError동일한 솔루션으로 위의 문제가 해결되기를 바랍니다 DistributionNotFound.

답변1

다음을 추가했습니다 /home/pquarato/.bashrc.

export PYTHONPATH="/home/bli/.local/lib/python3.6/site-packages"

이는 ( ModuleNotFoundErrorDistributionNotFound) 문제를 모두 해결하는 것으로 보입니다.

.bashrc이 파일을 적용하려면 먼저 이 파일을 얻어야 합니다.

사용자가 사용하는 셸에 따라 이를 조정해야 할 수도 있습니다.


편집하다

설정이 사용하기 PYTHONPATH에 적합하지 않은 것 같습니다 . 이 경우에도 여전히 존재합니다 .*.egg-linkpip3.6 install -eModuleNotFoundError

관련 정보