Python 버전 및 패키지 설치 문제

Python 버전 및 패키지 설치 문제

을 실행하는 Linux 서버에 다른 Python 버전이 있습니다 Centos7.

[xyz@innolx20122]$ python
python             python2.7          python3.6          python3.7          python3.7m-config
python2            python3            python3.6m         python3.7m

python3.7 버전만 사용하고 싶어서 파일 .bashrc에 별칭을 만들었습니다 .

alias python=python3.7

Python 호출 모듈을 설치했으며 앞으로 계속 사용할 것입니다.

pip install invoke

기본 Python 2.7 위치에 설치됩니다.

[xyz@innolx20122 ~]$ pip install invoke
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: invoke in ./.local/lib/python2.7/site-packages (1.4.1)

버전 2.7이 **kwargs 매개변수를 지원하지 않기 때문에 호출 작업을 실행하는 데 문제가 있습니다. 이 문제를 어떻게 해결할 수 있나요?

고쳐 쓰다

다른 별칭을 만들었습니다.

pip=pip3.7

[xyz@innolx20122 ~]$ pip --version
pip 10.0.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

이제 pip install inform을 실행하면 이 문제가 발생합니다.

[xyz@innolx20122 ~]$ pip install invoke
Collecting invoke
  Using cached https://files.pythonhosted.org/packages/2c/16/f00efa99ae9f255142a230ce6819c37ae9dd29a7144477c1161cc72d01ed/invoke-1.4.1-py3-none-any.whl
Installing collected packages: invoke
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python3.7/site-packages/invoke'
Consider using the `--user` option or check the permissions.

You are using pip version 10.0.1, however version 20.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

나는 사용하려고

pip install invoke --user

그러면 해당 위치에 패키지가 설치되어 있는 것을 볼 수 있습니다.

[xyz@innolx20122 ~]$ pip 설치 호출 --user

Requirement already satisfied: invoke in ./.local/lib/python3.7/site-packages (1.4.1)
You are using pip version 10.0.1, however version 20.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
[xyz@innolx20122 ~]$ cd ./.local/lib/python3.7/site-packages
[xyz@innolx20122 site-packages]$ ls
invoke  invoke-1.4.1.dist-info



[xyz@innolx20122 ~]$ cd /usr/local/lib/python3.7/site-packages/
[xyz@innolx20122 site-packages]$ ls
easy_install.py  pip  pip-10.0.1.dist-info  pkg_resources  __pycache__  README.txt  setuptools  setuptools-39.0.1.dist-info


[xyz@innolx20122 sd-test]$ inv --list
Trace

    back (most recent call last):
      File "/usr/bin/inv", line 8, in <module>
        sys.exit(program.run())
      File "/home/xyz/.local/lib/python2.7/site-packages/invoke/program.py", line 373, in run
        self.parse_collection()
      File "/home/xyz/.local/lib/python2.7/site-packages/invoke/program.py", line 465, in parse_collection
        self.load_collection()
      File "/home/xyz/.local/lib/python2.7/site-packages/invoke/program.py", line 696, in load_collection
        module, parent = loader.load(coll_name)
      File "/home/xyz/.local/lib/python2.7/site-packages/invoke/loader.py", line 76, in load
        module = imp.load_module(name, fd, path, desc)
      File "/home/xyz/developer-workspace/vikrant-xyz/sd-test/tasks/__init__.py", line 5, in <module>
        from .airflow import *
      File "/home/xyz/developer-workspace/vikrant-xyz/sd--test/tasks/airflow.py", line 57
        **airflow_vars,

답변1

여러 가지 옵션이 있습니다:

  1. Python 3.7용으로 설치된 pip를 가리키는 pip3에 대한 또 다른 별칭을 만듭니다.
  2. pip3 사용 homedir에 자신만의 pip를 설치하고 사용하세요.
  3. 사용하려는 pip에 대한 심볼릭 링크를 만들고 ~/.local/bin에 넣습니다(그리고 $PATH에 있는지 확인).

완전히 사용자로 실행하고 패키지가 소유한 것을 덮어쓰지 않도록 하세요.

관련 정보