AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1406304
Accepted
icezyclon
icezyclon
Asked: 2022-05-04 01:49:35 +0800 CST2022-05-04 01:49:35 +0800 CST 2022-05-04 01:49:35 +0800 CST

Virtualenv instala envs em local/bin em vez de bin

  • 772

Problema:

O bindiretório do meu ambiente virtual produzido com virtualenvwrapper(que usa virtualenvsob o capô) está localizado na subpasta, o localque leva à quebra geral (principalmente virtualenvwrappere vscodepor enquanto). Basicamente, essas ferramentas esperam o interpretador em <envname>/bine não em <envname>/local/bin.

Informações:

Já fiz algumas pesquisas e encontrei o seguinte:

  • Houve uma mudança no Ubuntu 22.04 que agora usa posix_localno módulo em sysconfigvez do posix_prefixesquema padrão que foi explicado aqui
  • O Virtualenv em algum momento introduziu um patch para o Python 2 que alterou o binlocal para local/bindentro de um ambiente virtual em resposta ao posix_localprefixo, que foi solicitado nesta pergunta e resultou nesse patch que deveria corrigir esse bug

Sistema:

  • Ubuntu 22.04 LTS x86_64
  • python3 - 3.10.4-0ubuntu2
  • python3-virtualenv - 20.13.0+ds-2
  • virtualenvwrapper==4.8.4

Pergunta:

  • Como faço virtualenvpara instalar meu ambiente <envname>/binnovamente, ignorando a posix_localopção?
  • O motivo pelo qual isso foi corrigido ainda é aplicável ao Python 3? (Devo admitir que realmente não entendi a razão pela qual o patch foi necessário em primeiro lugar.)
python3
  • 3 3 respostas
  • 1195 Views

3 respostas

  • Voted
  1. Best Answer
    icezyclon
    2022-06-22T13:39:23+08:002022-06-22T13:39:23+08:00

    O usuário yingmanwumen no GitHub do virtualenv postou uma solução neste problema :

    Basicamente, eles mudaram o esquema sysconfig exportando a seguinte variável em seu shell de escolha:

    export DEB_PYTHON_INSTALL_LAYOUT='deb'
    

    Isso altera o esquema de instalação padrão de posix_local, que produziu o comportamento problemático, para deb_system, que tem o layout de ambiente virtual normal/esperado novamente. O esquema de instalação atual pode ser verificado com este recorte:

    import sysconfig
    print(sysconfig.get_default_scheme())
    

    Deve-se notar que esta é uma solução temporária. Uma solução real provavelmente incluiria a mudança desse comportamento em virtualenvsi. O problema de yingmanwumen, bem como o meu próprio problema , tratam de problemas com o posix_localesquema. Os desenvolvedores de virtualenvestão abertos a aceitar um PR para resolver o problema subjacente. Atualizarei esta resposta se for proposto e aceito um PR que o resolva.

    • 7
  2. make_transition
    2022-05-05T11:28:01+08:002022-05-05T11:28:01+08:00

    Eu tive o mesmo problema que você e, embora não tenha as respostas para suas perguntas, descobri que mudar para venv resolveu meus problemas em alguns minutos ... Parece ser a maneira moderna e preferida de gerenciar python ambientes virtuais.

    fonte

    Como configurar o venv

    • 1
  3. Tim
    2022-06-09T06:17:08+08:002022-06-09T06:17:08+08:00

    Uma "solução" que funcionou para mim foi fazer o downgrade do setuptools: pip install setuptools==59.6.0

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve