相关疑难解决方法(0)

自定义代码在virtualenv中的位置如何?

使用时应该遵循什么样的目录结构virtualenv?例如,如果我正在构建一个WSGI应用程序并创建一个名为的virtualenv,foobar我将从一个目录结构开始,如:

/foobar
  /bin
    {activate, activate.py, easy_install, python}
  /include
    {python2.6/...}
  /lib
    {python2.6/...}
Run Code Online (Sandbox Code Playgroud)

创建此环境后,将自己放置在何处:

  • python文件?
  • 静态文件(图像/等)?
  • "定制"套餐,例如在网上提供但在奶酪店中找不到的套餐?

virtualenv目录有关?

(假设我已经知道virtualenv目录应该去哪里了.)

python project virtualenv

103
推荐指数
3
解决办法
3万
查看次数

virtualenvs应该在哪里创建?

我很困惑,我应该把我的virtualenvs放在哪里.

在我的第一个django项目中,我使用命令创建了项目

django-admin.py startproject djangoproject
Run Code Online (Sandbox Code Playgroud)

然后我进入djangoproject目录并运行命令

virtualenv env
Run Code Online (Sandbox Code Playgroud)

它创建了与内部djangoproject目录相同级别的虚拟环境目录.

这是为这个特定项目创建virtualenv的错误位置吗?

我得到的印象是,大多数人将所有的virtualenvs保存在一个完全不同的目录中,例如~/virtualenvs,然后使用virtualenvwrapper在它们之间来回切换.

有没有正确的方法来做到这一点?

python virtualenv virtualenvwrapper

96
推荐指数
3
解决办法
4万
查看次数

我可以移动virtualenv吗?

这个问题不重复.

它不仅适用于重命名虚拟环境,还适用于其实际移动到其他目录,包括可能包含的其他用户目录.

这与仅重命名虚拟环境不同,特别是对于不熟悉virtualenvs的人.

如果我创建了一个virtualenv,并将其移动到另一个文件夹,它仍然可以工作吗?

$ virtualenv -p /usr/bin/python3 /home/me/Env/my-python-venv
$ source Env/my-python-venv/bin/activate
(my-python-venv) $ 
Run Code Online (Sandbox Code Playgroud)

......当天晚些时候,虚拟环境MOVED ......

(my-python-venv) $ deactivate
$ mkdir -p /home/me/PeskyPartyPEnvs
$ mv /home/me/Env/my-python-venv /home/me/PeskyPartyPEnvs/
Run Code Online (Sandbox Code Playgroud)

题:

这会有用吗?

$ source /home/me/PeskyPartyPEnvs/my-python-venv/bin/activate
(my-python-venv) $ /home/me/PeskyPartyPEnvs/my-python-venv/bin/pip3 install foaas
Run Code Online (Sandbox Code Playgroud)

我的意思是,这不是一个关于尝试这个的智慧的问题(当然,除非这种智慧是幽默的),更多的是关于它是否可能.我真的想知道在Python 3中是否可以这样做,或者我是否只需要将其搞砸并克隆它.

我可以mvvirtualenv没有悲伤的情况下这样做吗?我确实想避免悲伤.

python virtualenv python-3.x virtualenv-commands

57
推荐指数
6
解决办法
4万
查看次数

virtualenv可重定位 - 它真的有用吗?

我一直在寻找答案,但没有找到答案.我有一个虚拟的环境目录,一个带有req.txt的项目目录.当我运行pip -r req.txt时,它会安装一些来自github(源代码)的应用程序和一些来自pypi的应用程序.来自pypi的那些在虚拟evn上可重新定位的调用之后很好,但是从github安装的应用程序的站点包中的链接仍然指向旧的目录位置.

其他人都看过这种行为?有什么快速的方法吗?此外,relocatable不支持最初在virtualenv上使用的--no-site-packages标志.移动虚拟并重新激活后,系统的站点包中都可以看到所有内容.Docs表明这种行为是一个事实,所以我想知道是否有任何快速解决方法?

python virtualenv virtualenvwrapper

17
推荐指数
2
解决办法
2万
查看次数

需要改变virtualenv的哪些部分才能重新定位?

所以,我有一个Python程序,有一些荒谬的插件/包.我希望能够在其virtualenv中分发程序,以便捆绑包.但是,该程序适用于Windows,并且在Windows上不支持virtualenvs的"可重定位"功能(以及仍在进行实验).

所以,我正在寻找编写脚本,或者只是编写指令来手动更改绝对路径名以重新定位virtualenv.

我的问题是,如果有人知道我必须在virtualenv中寻找绝对路径名称.我是Python包装的新手.activate.bat脚本包含绝对路径名,但是单个包是否将绝对路径名硬编码到其安装中?

Make Environments Relocatable一节描述了为什么不能简单地移动virtualenv,而是列出包含绝对路径名的地方.

python windows oop distutils virtualenv

14
推荐指数
2
解决办法
7538
查看次数

python 3.x venv环境是否可重定位?

从python 3.3开始,stdlib具有用于创建虚拟环境的venv模块.python 3.x venv环境是否可重定位?

python python-3.x python-venv

9
推荐指数
1
解决办法
1082
查看次数

virtualenv激活不起作用

我用以下方法创建了一个虚拟环境:

$ virtualenv my_ven_test
Run Code Online (Sandbox Code Playgroud)

然后让我们用以下方式激活环境:

$ source my_ven_test/bin/activate
Run Code Online (Sandbox Code Playgroud)

现在让我们安装一个包:

(my_ven_test) $ pip install mysql-connector==2.1.3
Run Code Online (Sandbox Code Playgroud)

最后一行不生效.事实上,如果我检查:

(my_ven_test) $ pip freeze
Run Code Online (Sandbox Code Playgroud)

我看到没有安装包(以及该my_ven_test/lib/python/site-package目录不包含mysql-connector包)

你可以指导我解决这个问题吗?

一些说明:

  • python版本:2.7
  • virtualenv版本:15.1.0

python pip virtualenv

9
推荐指数
1
解决办法
2625
查看次数

如何迁移虚拟环境

我有一个相对较大的项目,有很多依赖项,我想分发这个项目,但是安装这些依赖项有点痛苦,并且需要很长时间(pip install 需要相当长的时间)。所以我想知道是否可以将整个 virtualenv 迁移到另一台机器并让它运行。

我尝试复制整个 virtualenv,但是每当我尝试运行某些东西时,这个 virtualenv 仍然使用我的旧机器的路径。例如当我跑步时

source activate
pserve development.ini 
Run Code Online (Sandbox Code Playgroud)

我明白了

bash: ../bin/pserve: /home/sshum/backend/bin/python: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是我的旧目录。那么有没有办法让 virtualenv 用新路径重新配置这个路径呢?

sed -i 's/sshum/dev1/g' *在 bin 目录中尝试了一下,它解决了这个问题。然而,我现在遇到了一个不同的问题,我的猜测是这个 sed 改变了一些东西。

我已确认我已libssl-dev安装,但当我运行时,python我得到:

E: Unable to locate package libssl.so.1.0.0
E: Couldn't find any package by regex 'libssl.so.1.0.0'
Run Code Online (Sandbox Code Playgroud)

但当我跑步时aptitude search libssl我看到:

i A libssl-dev        - SSL development libraries, header files and documentation
Run Code Online (Sandbox Code Playgroud)

我也尝试过virtualenv --relocatable backend但没有去。

virtualenv

6
推荐指数
1
解决办法
4581
查看次数