Ich versuche, pip zu ändern, so dass nach jeder Installation oder Deinstallation, meine requirements.txt
aktualisiert wird.Wie pip in einem virtualenv ändern?
Um dies zu tun, habe ich die pip
Datei in der bin/
meines virtuellen env geändert.
pip
:
#!/Users/username/ProjectEnv/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from pip import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
status = main()
if status == 0 or status is None:
sys.argv = ['pip', 'freeze', '>', '../Project/requirements.txt']
sys.exit(main())
Das hat nicht funktioniert. Ich habe versucht, die Befehlszeilenargumente zu drucken und einen Haltepunkt zu setzen, aber sie haben nicht so gut funktioniert.
pip
:
#!/Users/username/ProjectEnv/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
import pdb
pdb.set_trace()
from pip import main
if __name__ == '__main__':
for arg in sys.argv:
print(arg)
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
status = main()
if status == 0 or status is None:
sys.argv = ['pip', 'freeze', '>', '../Project/requirements.txt']
sys.exit(main())
Was mache ich hier falsch?
Sind Sie sicher, dass Sie nicht "Status == 0" und "Status ist keiner" bedeuten .. und nicht nur '='? Wenn Sie die von Ihnen eingefügte Syntax verwendet haben, handelt es sich weder um einen gültigen py2- noch um einen py3-Code. Ich glaube also nicht, dass Ihr Code überhaupt aufgerufen wird. – MatsLindh
@MatsLindh Fixed sie, aber immer noch nicht funktioniert. – Utku